2011-02-02 206 views
4

我正在開發一個網站,允許用戶上傳圖像。我希望能夠接受BMP,GIF,JPEG和PNG(也許還有一兩個像TIFF)格式。我正在使用Apache Commons FileUpload庫來實現此目的。爲了使所有圖像以相同的格式結束,我想將所有圖像格式轉換爲JPEG格式。將從各種格式上傳的圖像轉換爲JPEG

什麼是最簡單的方法來做到這一點將工作將所有上述圖像格式?

我曾嘗試:

  • ImageIO.read(),這給了javax.imageio.IIOException: Unexpected block type 0!一些GIF文件和java.awt.color.CMMException: Invalid image format爲JPEG文件。
  • JAI,它給了GIF文件一個巨大的錯誤跟蹤。

編輯:關於JAI方法的信息:

堆棧跟蹤:

Error: One factory fails for the operation "gif"

Occurs in: javax.media.jai.ThreadSafeOperationRegistry

接着數以百計跟蹤的線。

代碼:

public static void convertToJPG(String originalFile, String newFile) throws Exception { 
    RenderedImage image = JAI.create("fileload", originalFile); 
    JAI.create("filestore", image, newFile, "JPEG"); 
} 

圖片:

An image which doesn't work.

+0

JAI可以處理GIF文件的解碼,您可以共享一些GIF文件或向我們展示您的一些代碼,並且至少可以顯示錯誤跟蹤的頂部? – 2011-02-02 02:41:31

回答

4

ImageMagick看看,和轉換命令,尤其如此。

+0

我已經看過了,但使用Java運行看起來相當複雜,而且我看不到太多的文檔或示例。 – DanielGibbs 2011-02-02 03:27:10

相關問題