spring设置上传文件大小、静态文件路径
文章目录
- spring设置上传文件的大小
- 全局配置
- boot2.x版本是这样设置
- boot2.x和boot1.x配置多媒体的区别
- 个别接口单独设置
- nginx设置文件大小
- 静态文件路径
设置文件大小有多种方式,例如nginx,spring等。
spring设置上传文件的大小
spring设置文件上传的大小。
全局配置
application.properties中这样设置:
spring.http.multipart.max-file-size=10MB# 单个文件,默认1Mspring.http.multipart.max-request-size=10MB# 单次请求,例如一个请求有多文件,默认10Mapplication.yml中这样设置:
spring:http:multipart:maxFileSize:100MBmaxRequestSize:1000MBboot2.x版本是这样设置
spring.servlet.multipart.maxFileSize=100MBspring.servlet.multipart.maxRequestSize=100MB注:单位建议大写如MB,如果写Mb实测无效。
boot2.x和boot1.x配置多媒体的区别
boot1.x # 用spring.http
boot2.x # 用spring.servlet
个别接口单独设置
配置文件中是全局设置。有时单个接口的大小和全局不一致,那么在接口中单独判断即可。代码:
@ResponseBody@RequestMapping(value="/fileUploadTest",name="文件上传")publicJsonResult<String>fileUploadTest(@RequestParam(value="file")MultipartFilefile){if(null!=file&&file.getSize()>10*1024*1024){returnJsonResult.fail("上传文件的大小不能超过10M");}returnnull;}nginx设置文件大小
如果用nginx转发,那么nginx的限制会在spring之前。
http{client_max_body_size 100M;#设置客户端上传最大文件大小,如果继续报错继续加大client_body_buffer_size 128K;#设置缓冲区大小提高nginx效率fastcgi_intercept_errors on;#设置nginx处理错误信息}静态文件路径
场景:
上传的教学视频播放,是写一个接口呢,还是用静态文件呢? 服务器可以用nginx直接转,本地想不用代码实现可以考虑配置静态文件。
spring:web:resources:static-locations:-classpath:/META-INF/resources/-classpath:/resources/-classpath:/static/-classpath:/public/-file:D:/uploads/# 这个是自定义的这个-是什么意思呢? 是数组或列表的意思,表示有多个路径。
注:如果自定义了,默认的路径会失效所以都要列出来,如上面这几个。
如果只是为了本地文件展示,不推荐这么做,写一个接口实现更好。
