如何將 BufferedInputStream 轉換為映像?
原始問題:
我在將 blob 轉換為影像時遇到困難緩衝影像。我正在從資料庫中以 blob 形式檢索 JPG 圖像,但使用 BufferedImage 轉換為圖像會傳回 null。如何解決此問題?
解決方案:
- 透過使用 ImageIO.write 寫出 uploadedInputStream 來驗證是否包含有效映像。
- 確保 Blob#length 傳回與 Blob#getBytes 相容的值。在這種情況下,Blob#length 傳回一個 long,而 Blob#getBytes 需要一個 int,這可能會導致截斷。
- 考慮使用 getBinaryStream 而不是 getBytes 來檢索 blob 內容,因為 getBinaryStream 更適合 blob未儲存在記憶體中。
其他注意事項:
- 提供的程式碼不處理 ImageIO.read 引發的潛在異常。確保異常得到妥善處理或傳播給呼叫者。
- 為了進一步調試,請提供有關輸入資料的更多信息,例如其大小和格式。
- 請參閱用於正確檢索和處理 blob 的資料庫庫。
以上是如何在 Java 中將 Blob 轉換為 BufferedImage?的詳細內容。更多資訊請關注PHP中文網其他相關文章!