Struts2 Upload de Imagens
Gostaria de alguma dica para monitorar o upload com progresso bar. Tenho exemplos feito no modo normal funciona muito bem, mais gostaria de monitorar o arquivo. Outra coisa teria como definir tamanho da imagem a se feito upload como height e widtt?
Ricardo Silva.
Curtidas 0
Respostas
Robson Teixeira
26/10/2011
nas tags do struts2 procure a tag <s:file que talvez possa te ajudar.
GOSTEI 0
Dyego Carmo
26/10/2011
Resolvido o problema ?
Qualquer coisa estou a disposição :)
Se sim , poderia fechar o chamado ?
Qualquer coisa estou a disposição :)
Se sim , poderia fechar o chamado ?
GOSTEI 0
Ricardo Silva.
26/10/2011
Caro colega desculpe pela demora. Mais vamos lá:
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
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
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