SpringBoot2.0(三) 文件上传

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();
}

在其中也可以声明上传文件大小限制。

猜你喜欢

转载自www.cnblogs.com/asfeixue/p/9113912.html