0
在我的項目中,我收到一個採用灰度8BPP格式的Base64編碼圖像。我無法將其轉換爲BufferedImage。當我從磁盤讀取一個映像(f.ex png)時,我有一些代碼可用,base64對它進行編碼,反之亦然。從圖像格式創建BufferedImage 8BPP
無論如何,當我嘗試轉換我收到的字符串,一切似乎工作,但空返回。它不是被調用的catch,而是返回null的ImageIO.read。
有什麼建議嗎?我知道base64字符串是有效的,因爲我試圖將其保存爲原始文件並在編輯器中打開它,從而正確顯示圖像。
這是我的代碼:
public static BufferedImage convertBase64StringToBufferedImage(String base64String){
byte[] pictureBytes = Base64Coder.decode(base64String);
InputStream is = new ByteArrayInputStream(pictureBytes);
BufferedImage image;
try {
image = ImageIO.read(new ByteArrayInputStream(pictureBytes));
} catch (IOException e) {
log.error(e.getMessage(), e);
return null;
}
return image;
}
感謝您的建議,但我現在已經嘗試過(使用所有可用的MIME類型,並且我收到各種錯誤,其中大多數表示無效頭或類似錯誤。 – benbjo