將 BufferedInputStream 轉換為映像
問題:
如何轉換從資料庫中擷取的 BufferedInputStream 物件?現有程式碼返回空圖像。
解決方案:
- 驗證 BufferedInputStream 是否包含有效影像。將其儲存到文件中,然後將其作為 BufferedImage 讀回進行確認。
- 確保在取得位元組時使用正確的 Blob 長度。對於 H2 資料庫,長度傳回為 long,但 Blob#getBytes 需要 int。
- 或者,使用 Blob#getBinaryStream 而不是 Blob#getBytes。如果資料庫不在記憶體中儲存 Blob 內容,這可能是必要的。
範例:
以下 Java 程式碼使用 Blob#getBinaryStream 讀取映像從資料庫中取得並將其轉換為 BufferedImage:
以上是如何將 BufferedInputStream 從資料庫轉換為 BufferedImage?的詳細內容。更多資訊請關注PHP中文網其他相關文章!