[quote=Raarm]
Cara vc sabe converter OutputStream para InputStream ?[/quote]
A maneira que conheço é assim:
Usa um ByteArrayOutputStream e o IOUtils para escrever a imagem num array de byte.
Depois pega esse array e joga num ByteArrayInputStream , que é um inputStream e portanto pode ser passado no metodo do ftp. Claro que vc pode criar uma classe que faz estas operações e se comporta como ambos um outputstream e um inputstream , mas acho melhor não fazer isso.
Tlv com NIO exista uma opção mais eficiente, mas nunca vi . Se alguém souber, por favor diga.
[code]ByteArrayOutputStream bos = new ByteArrayOutputStream();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bos);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bufferedImage);
int quality = 100; // Use between 1 and 100, with 100 being hest quality
quality = Math.max(0, Math.min(quality, 100));
param.setQuality((float)quality / 100.0f, false);
encoder.setJPEGEncodeParam(param);
encoder.encode(bufferedImage);
InputStream is = new ByteArrayInputStream(bos.toByteArray()); [/code]
Mas sei lah…este JPEGImageEncoder serve para qualquer imagem? Eu coloquei a extensão png e este codec serviu…