SpringBoot中发起文件上传示例:
/** * 文件上传 * @param multipartFile * @param path * @return */ @RequestMapping(value = "/sss", method = RequestMethod.POST) public HttpResult fileUpload(@RequestParam(value = "file") MultipartFile multipartFile, @RequestParam(value = "path", required = false) String path) {
//xxxxxxxxxxx }
在这里文件上传文件的大小一般受2个地方的限制。
- 第一:运维一般会在nginx上对于request body 做个大小限制;
- 第二:springboot文件上传默认限制大小;
这里单说第二种限制如何处理。
有两种办法,
- 第一:在application.properties文件中增加如下属性,
spring.servlet.multipart.max-file-size=128KB spring.servlet.multipart.max-request-size=128KB spring.http.multipart.enabled=true
大小根据需要自己设定,springboot官方说是尝试过5GB的文件大小;
- 第二:声明如下bean,
@Bean public MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); //允许上传的文件最大值 factory.setMaxFileSize("50MB"); //KB,MB /// 设置总上传数据总大小 factory.setMaxRequestSize("50MB"); return factory.createMultipartConfig(); }
在其中也可以声明上传文件大小限制。