2017-02-15 159 views
0

我試着這個代碼和圖像存在,但是當我嘗試創建一個CommonsMultipartFile的大小爲零。CommonsMultipartFile大小爲0

File file = new File("[image]"); 
DiskFileItem fileItem = new DiskFileItem("file", "image/png", false, file.getName(), (int) file.length() , file.getParentFile()); 
fileItem.getOutputStream(); 
MultipartFile multipartFile = new CommonsMultipartFile(fileItem); 

回答

0

你可以用這個

DiskFileItem fileItem = new DiskFileItem("file", "image/png", true, file.getName(), (int)file.length() , file.getParentFile()); 
InputStream input = new FileInputStream(file); 
OutputStream os = fileItem.getOutputStream(); 
int ret = input.read(); 
while (ret != -1) 
{ 
    os.write(ret); 
    ret = input.read(); 
} 
os.flush(); 
MultipartFile multipartFile = new CommonsMultipartFile(fileItem); 
Assert.assertTrue(multipartFile.getSize() > 0); 
+0

我不能使用MockMultipartFile嘗試。我嘗試過,但是當我調用一個外部服務來上傳圖片時,它給了我一個錯誤,因爲它需要一個FileItem。 –

+0

@ClaraMG檢查新回覆我改變了不要使用MockMultipartFile – cralfaro

+0

非常感謝!有效!儘管現在我有另一個解析問題... 'org.springframework.http.converter.HttpMessageNotWritableException:無法寫入內容:沒有發現類java.io.FileDescriptor的序列化程序,沒有發現創建BeanSerializer的屬性 –

相關問題