我想從bufferedImage獲取bytearray,但我的ByteArrayOutputstream的長度始終爲零,我沒有得到任何字節。這是我在做什麼BufferedImage字節Java
任何想法,爲什麼這不工作
BufferedImage scaledPicture = .....
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(scaledPicture, extension, baos);
baos.flush();
byte[] toByteArray = baos.toByteArray();
baos.close();
return toByteArray;
任何想法?
非常感謝你。它正在返回假,所以沒有作者發現。由於圖像是從瀏覽器上傳的,我如何確定格式或如何在ImageIO.write調用中指定格式? – 2011-04-01 03:09:31
@Farouk Alhassan我會嘗試使用'ImagIO.getImageWritersBySuffix',看看你是否有任何'ImageWriter'回來。如果是這樣,你可以很容易地用它們的'write'方法來編寫你的'RenderedImage'。無論如何,你目前使用的方法只是一個簡單的包裝。 – Melv 2011-04-01 03:24:42
非常感謝。一天後修復它。純粹是因爲舊單元未經測試的代碼錯誤地計算文件擴展名,返回.jpeg而不是jpeg,因此浪費了一天!得到教訓。無論如何,我今天比昨天知道更多,所以感激不盡。 tx – 2011-04-01 03:28:16