2015-10-28 40 views
0

我試圖裁剪從窗體上傳收到的圖像。在我裁剪之前,我保存它,然後我再次檢索它作爲BufferedImage(因爲我不知道如何將零件變成緩衝的圖像)。然後當我嘗試再次保存它時,我得到一個java.io.FileNotFoundException(訪問被拒絕)FileNotFoundException讀取BufferedImage時

第一個圖像得到正確保存,當我試圖拉回它時,我得到異常。

是否有可能將我的部分變成緩衝圖像,然後保存它?而不是做雙重工作。或者有一些修復我的下面的代碼。

String savePath = "path"; 

File fileSaveDir = new File(savePath); 
if (!fileSaveDir.exists()) { 
    fileSaveDir.mkdir(); 
} 

for (Part part : request.getParts()) { 
     //functionality to ormit non images 

     String fileName = extractFileName(part);            

     part.write(savePath + "/" + fileName); 

     String imagePath = savePath + "/" + fileName; 

     BufferedImage img = null; 
     try { 

      img = ImageIO.read(new File(imagePath)); 

      img = img.getSubimage(0, 0, 55, 55); 

      ImageIO.write(img, "jpg", fileSaveDir); 

     } catch (IOException e) { 
      System.out.println(e); 
     }            
} 
+0

Part.write是否創建一個文件?此錯誤位於何處 –

回答

3

ImageIO.write((IM的RenderedImage,字符串FORMATNAME,文件輸出));

Parameters: 
im a RenderedImage to be written. 
formatName a String containg the informal name of the format. 
output a File to be written to. 

按照文檔的輸出文件的參數是哪裏會像寫,你已經通過了父目錄的文件對象的文件對象。

+1

謝謝您的澄清! – JonCode

相關問題