將BufferedInputStream 轉換為映像
從資料庫轉換Blob 時遇到問題,您認為該Blob 是JPEG 格式的影像,進入BufferedImage進行進一步處理。轉換失敗,您的 Image 變數仍為空。
轉換失敗的可能原因
檢查您的程式碼後,有幾個潛在問題可能會導致轉換失敗:
解決方案
解決問題,嘗試修改您的程式碼如下:
public Response post(@PathParam("id") String id) throws IOException { Connection con = connection(); Blob blob = getPhoto(con); BufferedImage image = null; InputStream blobStream = null; int blobLength = 0; try { blobLength = (int) blob.length(); blobStream = blob.getBinaryStream(1, blobLength); image = ImageIO.read(blobStream); } catch (SQLException e2) { e2.printStackTrace(); } return Response.ok(image).build(); }
此外,您應該驗證有效性通過將uploadedInputStream 寫入檔案並將其讀回以確保它包含映像。
以上是從資料庫轉換 Blob 時,為什麼我的「BufferedImage」為空?的詳細內容。更多資訊請關注PHP中文網其他相關文章!