Olá Pessoal,
Estou com problemas no upload de imagens com a versão 2.5 do vraptor.
Será que alguém poderia me ajudar?
O projeto é um sistema web de uma imobiliária, cada imóvel pode conter 10 fotos. Após salvar as fotos… as imagens ficam zuadas com uma faixa cinza.
Tentei procurar alguma referencia mas não encontrei nda, vi que agora tem a nova versão do vraptor 3, tem algo novo nesse sentido?
Alguma idéia que eu possa implementar?
Eu tentei usar o tipo FileItem no parametro, mas o framework não aceita, o campo fica nulo.
Estou utilizando da seguinte maneira:
@InterceptedBy( { DaoInterceptor.class, MultipartRequestInterceptor.class })
public class ImovelLogic {
.
.
.
@In(required=false)
private UploadedFileInformation foto1;
public void adiciona
if(foto1 != null){
processaFoto(foto1);
}
private void processaFoto(UploadedFileInformation u){
File file = u.getFile();
String pasta = new SimpleDateFormat("ddMMyyyyHHmmss").format(new Date());
String path = "D:\\Fotos\\"+pasta;
UploadFile upFile = new UploadFile();
try {
upFile.uploadFile(file, path);
} catch (FileUploadException e) {
log.error(e);
}
}
.
.
.
}
package br.com.imobiliaria.util;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.io.IOUtils;
import org.apache.log4j.Logger;
public class UploadFile{
Logger log = Logger.getLogger(UploadFile.class);
public void uploadFile(File file, String path) throws FileUploadException{
try{
File uploadedFile = file;
String separetedSO = "/";
String completePath = path+separetedSO+file.getName()+".jpg";
File dir = new File(path);
if(!dir.exists()){
dir.mkdirs();
}
InputStream input = new BufferedInputStream(new FileInputStream(
uploadedFile));
OutputStream output = new BufferedOutputStream(new FileOutputStream(
new File(completePath)));
IOUtils.copy(input,output);
//Cria um novo File que representa o thumbnail
String nomeThumbnail = file.getName()+"_thumbnail.jpg";
File thumbnail = new File(dir+separetedSO, nomeThumbnail);
try {
thumbnail.createNewFile();
} catch (IOException e) {
log.error("Erro ao tentar criar a imagem de Thumbnail" + e);
}
//Faz uma cópia da imagem upada
CopiaArquivos copiaArquivo = new CopiaArquivos();
copiaArquivo.copia(file, thumbnail);
//A imagem copiada será reduzida para se tornar o thumbnail
Miniatura miniatura = new Miniatura(dir+separetedSO, nomeThumbnail);
miniatura.iniciar();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
