没有为MultipartFile配置Spring Boot 2.0.2 MultipartConfigElement

时间:2018-06-12 00:10:43

标签: java spring-boot multipart

我使用的是Spring Boot 2.0.2.RELEASE ,而且无法上传REST控制器端点的文件。

this获得入门后,它说:

  

作为自动配置Spring MVC的一部分,Spring Boot将创建一个   MultipartConfigElement bean并为文件上传做好准备。

因此,从理论上讲,它应该可以在没有任何其他配置的情况下工作,但看起来根本没有配置MultipartConfigElement

我收到警告:

WARN .a.w.r.e.DefaultErrorWebExceptionHandler: Failed to handle request [POST http://localhost:8080/upload]: Response status 400 with reason "Required MultipartFile parameter 'file' is not present"

My Spring应用程序启动程序非常简单:

@SpringBootApplication
public class MyApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }

}

我的终点是:

@RestController
public class MyController {

@PostMapping("/upload")
public String hash(@RequestParam("file") MultipartFile file) {
    final String test = file.getContentType();
}

这是我与邮递员一起发送的方式: enter image description here

我还确保取消标记邮递员设置的任何默认内容类型,但没有成功。 我可能做错了什么?

2 个答案:

答案 0 :(得分:0)

首先,将其添加到您的属性文件

servlet.multipart.enabled =真 servlet.multipart.max文件大小= 20M

并创建CommonsMultipartResolver bean作为 (name =“multipartResolver”)

答案 1 :(得分:0)

同样的问题,但我通过这种方式获得了这些文件。

你可以在这个 github 仓库中找到这些文件:

gs-uploading-files

您只需下载此应用程序的 zip 文件,然后找到您需要的文件即可。