Fórum Struts2 Upload de Imagens #408865
26/10/2011
0
Ricardo Silva.
Curtir tópico
+ 0Posts
27/10/2011
Robson Teixeira
Gostei + 0
09/11/2011
Dyego Carmo
Qualquer coisa estou a disposição :)
Se sim , poderia fechar o chamado ?
Gostei + 0
05/12/2011
Ricardo Silva.
Estou usando struts 2 annotations para fazer upload de imagem, funciona perfeitamente gostaria de implementar o progresso bar teria como ajudar. Segue código abaixo
import br.com.tularte.modelo.Cor;
import java.io.File;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.interceptor.ServletRequestAware;
import com.opensymphony.xwork2.ActionSupport;
import java.awt.Image;
import javax.swing.ImageIcon;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.InterceptorRef;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
@ParentPackage(default)
public class FileUploadAction extends ActionSupport implements
ServletRequestAware {
private static final long serialVersionUID = 1L;
private File userImage;
private String userImageContentType;
private String userImageFileName;
private Cor cor;
private HttpServletRequest servletRequest;
@Action(value = userImage, results = {
@Result(name = ok, location = /admin/inserircor.jsp),
@Result(name = input, location = /admin/inserircor.jsp)
}, interceptorRefs = {
@InterceptorRef(seguranca),
@InterceptorRef(fileUploadStack)
})
@Override
public String execute() {
try {
if (hasFieldErrors() == false) {
String filePath = servletRequest.getRealPath(/imagens/cor) + /;
System.out.println(Server path: + filePath);
Image inImage = new ImageIcon(userImage.getPath()).getImage();
if ((inImage.getWidth(null) != 160) || (inImage.getHeight(null) != 150)) {
addActionError(Tamanho da Imagem maior que o permitido 160X150.);
return input;
} else {
File fileToCreate = new File(filePath, this.userImageFileName);
FileUtils.copyFile(this.userImage, fileToCreate);
cor.setCorimagem(userImageFileName);
return ok;
}
}
return input;
} catch (Exception e) {
e.printStackTrace();
addActionError(e.getMessage());
return input;
}
}
public File getUserImage() {
return userImage;
}
public void setUserImage(File userImage) {
this.userImage = userImage;
}
public String getUserImageContentType() {
return userImageContentType;
}
public void setUserImageContentType(String userImageContentType) {
this.userImageContentType = userImageContentType;
}
public String getUserImageFileName() {
return userImageFileName;
}
public void setUserImageFileName(String userImageFileName) {
this.userImageFileName = userImageFileName;
}
public void setServletRequest(HttpServletRequest servletRequest) {
this.servletRequest = servletRequest;
}
public Cor getCor() {
return cor;
}
public void setCor(Cor cor) {
this.cor = cor;
}
}
Estou usando java para verificar o tamanho da imagem e interceptor para verificar o tamanho em bytes e tipo de formato. Uma pergunta teria como fazer essa requisicao via ajax? Motivo, o uplod submit fica no fim do formulario necessitando usar a barra de rolagem para fazer o upload e assim que dar o refresh na tela a barra de rolagem retorna para inicio, gostaria que ficase no lugar onde foi efetuado o submit.
Muito Obrigado
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)