2011-12-19 41 views
1

我將JPG照片存儲在數據庫表中,並使用Java servlet將它們呈現在我的網頁中。當我將我的照片之一從我的網頁保存到桌面時,瀏覽器會將照片另存爲BMP文件,並將其保存爲JPG文件。而且,當數據庫中只有3.4MB時,BMP文件爲35MB。任何人都可以解釋這是怎麼發生的?爲什麼從Java servlet保存的文件爲BMP時應該是JPG?

這裏是一個Servlet如何服務於該文件...

 if (resultSet.next()) { 
      inputStream = resultSet.getBinaryStream(1); 
      if (!resultSet.wasNull()) { 
       String mimeType = URLConnection.guessContentTypeFromStream(inputStream); 
       if (mimeType == null) { 
        logger.debug("Content Type is image"); 
        response.setContentType("image"); 
       } else { 
        logger.debug("Content Type is " + mimeType); 
        response.setContentType(mimeType); 
       } 
       line = inputStream.read(buffer); 
       while (line != -1) { 
        servletOutputStream.write(buffer, 0, line); 
        line = inputStream.read(buffer); 
       } 
       inputStream.close(); 
      } 
     } 
+2

你怎麼保存它?並向我們​​展示來自Image Serving Servlet – 2011-12-19 12:44:40

回答

3

可能是您的瀏覽器選擇BPM的原因是該文件的MIME類型。

+0

的代碼我使用上面代碼中的調試語句驗證了mimeType值是image/jpeg。此外,不知何故,對這篇文章的回覆之一不再可見。我希望我不會意外刪除它。 – user1003885 2011-12-20 13:52:33

相關問題