上传大文件失败
前言
前段时间搞的网盘的项目,初始化好了基本的登录以及上传下载的功能就一直没碰了。今天懒得搞算法和设计模式了,接着写下项目,目前网盘上传1M以上的文件会上传失败
问题
1 | 413 Entity Too Large |
分析
首先锁定在Nginx上面,部署后是nginx反向代理后台,web前端与nginx直接交互。且发现确实nginx默认是限制1M的请求实体。
因此就先配置下Nginx的大小限制
1 | client_max_body_size 1024M; // 我这里配成1024M也就是1G |
这个东西可配置在http、server或者location下,我就直接配在location下的:
1 | server { |
重启nginx之后,上述问题消失,但仍上传不成功。等待一段时间后显示500的错
那就查看下后台的日志
1 | org.apache.tomcat.util.http.fileupload.impl.SizeLimitExceededException: the request was rejected because its size (22960862) exceeds the configured maximum (10485760) |
1 |
|
简单调试知道这个问题在Controller方法之前,和Controller当中代码无关。需要配置关于MultipartFile文件大小限制问题。
1 | spring: |
这样配置之后就ok了。
总结
有两点:第一点是nginx请求实体的限制、第二点是Spring对multipart的限制.
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 木瓜煲鸡脚's blog!
评论