2017-02-15 109 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的属性 –

相关问题