2016-07-08 9 views
2

にマルチパートファイルに画像を変換するために、私は上記の行が440272のようないくつかのサイズでfileオブジェクトを作成した画像ファイルを持っているし、その画像、私がどのように春

File file = new File("E://Shared Data/Images/xyz.jpg");

Fileオブジェクトを作成する必要があります上記image fileは、私は、問題は、私はsize=0を取得しています変換した後で

DiskFileItem fileItem = new DiskFileItem("file", "image/png", false, file.getName(), 
            (int) file.length(), file.getParentFile()); 
          fileItem.getOutputStream(); 
          MultipartFile multipartFile = new CommonsMultipartFile(fileItem); 
          adminAssetUploadController.upload(request, multipartFile, "product", null); 

をしたそのためmultipart fileに変換しますsize440272のようにする代わりに、私がimageのためにsizeを得たら、それをuploadメソッドに渡すことによっていくつかの場所に格納することができます。以下

はアップロード方法である

public ResponseEntity<Map<String, Object>> upload(HttpServletRequest request, 
      @RequestParam("file") MultipartFile file, @PathVariable(value = "sectionKey") String sectionKey, 
      @PathVariable(value = "id") String id) throws IOException { 
     Map<String, Object> responseMap = new HashMap<String, Object>(); 

     Map<String, String> properties = new HashMap<String, String>(); 
     properties.put("entityType", sectionKey); 
     properties.put("entityId", id); 

     StaticAsset staticAsset = staticAssetService.createStaticAssetFromFile(file, properties); 
     staticAssetStorageService.createStaticAssetStorageFromFile(file, staticAsset); 
     ........ 
     ....... 

} 

私は私のアプローチはmultipart fileimage fileを変換する正しいですmultipart fileに変換した後zero sizeを取得しています、なぜ誰も私を助けることができますか?このために他のapproachに従う必要がありますか?

答えて

2

私はあなたがCommonsMultipartFileを使用したい場合は、このコード

FileInputStream input = new FileInputStream(fileItem); 
MultipartFile multipartFile = new MockMultipartFile("fileItem", 
      fileItem.getName(), "image/png", IOUtils.toByteArray(input)); 

を用いて画像を変換することをお勧め、私はあなたがあなたのポンポンファイルにコモンズ、ファイルアップロードを持つべきだと思う

<dependency> 
    <groupId>commons-fileupload</groupId> 
    <artifactId>commons-fileupload</artifactId> 
    <version>1.3</version> 
</dependency> 

CommonsMultipartFileの文書には、そのことが記載されています

注:このクラスでは、Commons F ileUpload 1.1または が高くなります。実装では、廃止予定のFileUpload 1.0 APIをこれ以上使用することはなく、今後のCommons FileUploadリリースと互換性があります。 http://docs.spring.io/spring-framework/docs/2.0.8/api/org/springframework/web/multipart/commons/CommonsMultipartFile.html

私はこれがあなたのために働いていた場合

+0

は 'MockMultipartFile'ええ、それは働いていた知ってみましょうどうもありがとうございました。 –

+0

それはあなたのために働いてうれしい –

関連する問題