Oi pessoal
Eu to com um problema ao fazer upload de uma imagem e redimensionar pra salvar em disco
Quando eu executo essa ação no meu sistema o consumo de memória sobe de maneira inaceitável(normalmente fica em torno de 165.000k e cada imagem que eu faço upload a memória aumenta uns 40.000k)
Pelo que eu vi o problema está no código que eu uso pra redimensionar porque quando eu salvo em disco sem redimensionar isso não acontece
Se alguem puder me ensinar uma maneira diferente de redimensionar uma imagem ou me dizer qual o problema com esse código serei muito grato
@ManagedBean
@RequestScoped
public class Bean implements Serializable {
UploadedFile file;
public void salvar() {
try {
salvarImagem(file.getInputstream(), "jpg", "D:\\teste_imagens\\imagem.jpg", 100, 100);
} catch (IOException ex) {
System.err.println(ex);
}
}
public static boolean salvarImagem(InputStream stream, String ext, String pathName, int width, int height) {
try {
new File(pathName).mkdirs();
BufferedImage imagem = ImageIO.read(stream);
BufferedImage bufferedImage = new BufferedImage(novaDimensao.width, novaDimensao.height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = bufferedImage.createGraphics();
g.drawImage(imagem, 0, 0, width, height, null);
ImageIO.write(bufferedImage, ext, new File(pathName));
return true;
} catch (Exception exc) {
System.err.println(exc);
return false;
}
}
public UploadedFile getFile() {
return file;
}
public void setFile(UploadedFile file) {
this.file = file;
}
}