2017-10-23 16 views
0

お客様の情報やファイルを処理するためのREST APIを作成するコードをいくつか作成しました。サーバー上のローカルディスクにアップロードするファイルを保存したいです。私のコードは以下の通りですスプリングブートREST APIファイルのアップロード

@RequestMapping(value = "/alg", method = RequestMethod.POST) 
public String postUsersNewAlg(@RequestParam(value = "file", required = true) CommonsMultipartFile jarfile, 
           @RequestParam(value = "username", required = true) String userName, 
           @RequestParam(value = "output", required = true) String output) { 

    //other code handles string infos etc. 

    try { 
     //get directory path that to save file 
     String filePath = PathUtil.getOffAlgJarFilePathRoot(); 

     //get file path 
     String filePathWhole = null; 
     if (!filePath.endsWith(SeparatorUtils.getFileSeparator())) { 
     filePathWhole = filePath + SeparatorUtils.getFileSeparator() + algImpl.getOriginalFilename(); 
     } 
     else { 
     filePathWhole = filePath + algImpl.getOriginalFilename(); 
     } 

    FileUtil.copyFile(jarfile, filePath,filePathWhole); 
    } 
    catch(Exception e){ 
     e.printStackTrace(); 
     return e.getMessage(); 
    } 
} 

問題はjava.lang.NoClassDefFoundErrorがある:ORG/apacheの/コモンズ、私は事前にこの感謝を行うことができますどのようにルートcause.Soと/ファイルアップロード/ FileUploadException]?。

+0

あなたはコモンズ・ファイルアップロードを追加した場合、u'llエラー(ファイル変換)を取得します。あなたはこれが必要です:[リンク](https://stackoverflow.com/a/30006073/2183049)またはCommonsMultipartFileをMultipartFileに変更してください。 – Habil

+0

はい私は試して、それは動作します – zpwpal

答えて

1

は、あなたがpom.xmlに、このいずれかを試してみましたかcommons-fileupload.jarを追加しておいてください。

<dependency> 
    <groupId>commons-fileupload</groupId> 
     <artifactId>commons-fileupload</artifactId> 
    <version>1.2.1</version> 
</dependency> 
+0

いいえ、私はこれを私のPOMに追加し、Commons MultipartFileをMultipartFileに変更し、それは動作します、ありがとう – zpwpal

関連する問題