2017-02-15 4 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

あなたは、私がMockMultipartFileを使用することはできません。この

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

と試みることができます。私はそれを試しましたが、画像をアップロードするために外部サービスを呼び出すと、FileItemが必要なのでエラーになります。 –

+0

@ClaraMG私はMockMultipartFileを使わないように変更した新しいレスポンスをチェックします – cralfaro

+0

ありがとう!出来た!今では解析に別の問題があります... 'org.springframework.http.converter.HttpMessageNotWritableException:コンテンツを書き込めませんでした:クラスjava.io.FileDescriptorのシリアライザが見つかりませんでした。BeanSerializerを作成するためのプロパティが見つかりませんでした。 ' –

関連する問題