java - 不管用
问题描述
我正在尝试限制通过控制器上传的文件的大小。此应用程序使用 web.xml 进行 servlet 配置。这个应用程序使用 Spring 4。
<servlet>
<servlet-name>appname</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<multipart-config>
<max-file-size>10000</max-file-size>
<max-request-size>10000</max-request-size>
</multipart-config>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/appname.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appname</servlet-name>
<url-pattern>/app/*</url-pattern>
</servlet-mapping>
这不起作用:
<multipart-config>
<max-file-size>10000</max-file-size>
<max-request-size>10000</max-request-size>
</multipart-config>
我能够上传大于 10 kb 的文件,并且它正在发送到我的控制器。为什么<multipart-config>
不工作?是否需要更多配置?
解决方案
Max-file-size 将值作为字节,例如,您必须将 500Mo 乘以 1024 * 1024,如下所示。
<multipart-config>
<max-file-size>524288000</max-file-size>
<max-request-size>524288000</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>
您还可以删除 web.xml 上的注释并添加注释:
@MultipartConfig(maxFileSize = 1024*1024*5)
推荐阅读
- macos - 如何在 ElasticSearch 上使用最多 4GB 的内存?
- typescript - 可能有既可以返回字符串值又可以知道它们的枚举顺序的emun?
- angular - 在 asp.net 中构建角度部分的问题
- c - Why does my code terminate when I add a 7th character to my array?
- django - Django: production app on Heroku cant find templates with "path" urlpattern
- postgresql - 启动 pgpool 时,这个“验证失败”错误是什么?
- android - 错误:无法解决:com.android.support:appcompat-v7:28.0.0
- c# - Not receiving result it seems with "onActivityResult()"
- python - Format first row in ReportLab table
- r - 为什么使用 sf 包创建的 shapefile 在 ArcMap 中不显示相同的 CRS?