2017-09-06 3 views
2

Springに入力タイプファイルからなるフォームをアップロードした後、要求されたパラメータが欠落しているという例外が発生します。 これは私のフォームです:Springブートでフォーム提出後に必須のリクエストパート 'file'が存在しません

<form method="POST" th:action="@{/form}" enctype="multipart/form-data" 
role="form"> 
<input type="file" name="file" onchange="this.form.submit()"/> 
</form> 

そして、これは私のコントローラです:

@RequestMapping(value = "/form", method = RequestMethod.POST) 
public String handleFormUpload(@RequestParam("file") MultipartFile 
    file)throws IOException { 

     if (!file.isEmpty()) { 
      BufferedImage src = ImageIO.read(new ByteArrayInputStream(file.getBytes())); 
      File destination = new File("directory"); 
      ImageIO.write(src, "png", destination); 

      return "redirect:uploadSuccess"; 
     } else { 
      return "redirect:uploadFailure"; 
     } 
    } 

のpom.xmlファイルで、私は依存関係

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

<dependency> 
    <groupId>commons-io</groupId> 
    <artifactId>commons-io</artifactId> 
    <version>2.5</version> 
</dependency> 

そして、私のApplicationクラスで私が持っているが追加されましたBeanを追加しました(web.xmlはありません)。

@Bean 
public CommonsMultipartResolver multipartResolver() { 
    CommonsMultipartResolver resolver=new CommonsMultipartResolver(); 
    resolver.setDefaultEncoding("utf-8"); 
    return resolver; 
} 

しかし、私は、ファイルが正常にアップロードされていないのはなぜ

There was an unexpected error (type=Bad Request, status=400). 
Required request part 'file' is not present 

を取得しますか?

@RequestMapping(value = "/form", method = RequestMethod.POST, consumes = "multipart/form-data") public String handleFormUpload(@RequestPart("file") MultipartFile file)

: はにあなたのマッピングを変更し

答えて

関連する問題