2011-05-16 80 views
0

我有問題,當我保存用戶上傳的PNG文件。它失去了透明度。這是我如何保存它。Java:保存上傳的PNG圖像

ServletFileUpload upload = new ServletFileUpload(factory); 

     ProgressListenerImpl listener = new ProgressListenerImpl(); 
     UploadProgressBar uop = new UploadProgressBar(listener); 

     List<FileItem> fileItemsList = upload.parseRequest(request); 

     for(FileItem fi : fileItemsList) { 
///get name etc. 
    File fNew= new File(fileLocation, justName); 
      fi.write(fNew); 
     } 

它把黑色的背景。任何其他方式將它保存爲PNG?

+0

你能提供完整的代碼?什麼是fi? – Liv 2011-05-16 16:20:55

+0

...是以任何方式首先處理的圖像?在網絡應用程序場景中調整大小並保存圖像時遇到類似問題。 – vector 2011-05-16 16:23:07

+0

更新的代碼仍然沒有幫助。我們不知道FileItem是什麼或者你的自定義寫(...)方法是做什麼的。這就是問題發現的地方。 – camickr 2011-05-16 16:30:46

回答

1

如果您要在服務器端創建BufferedImage,請確保將其創建爲支持Alpha通道的類型,例如,

BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); 

保羅