【发布时间】:2015-10-20 13:02:38
【问题描述】:
我有一个 GWT 应用程序,我们需要上传文件,但我想限制大小。所以目前我有这个:
ServletFileUpload.isMultipartContent(request);
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(theFactory);
upload.setFileSizeMax(<2mb>);
upload.setSizeMax(<2mb>);
try {
final List<FileItem> items = upload.parseRequest(request);
for (FileItem fileItem : items) {
<do file stuff>
}
}
catch (FileUploadException e) {
<break and return error>
}
当我在开发模式下上传一个 300mb+ 的文件时,它一碰到 for 循环就会中断,并说文件在异常中太大了。这发生在我点击上传按钮后一秒钟。
当应用程序部署在 tomcat 上时,它会等待文件完全上传,而不是先中断并拒绝文件。
我知道有一个 tomcat 参数,但我接受上传的文件大小对于不同的 servlet 是非常不同的,我想为 servlet 单独设置这个参数,而不是最大的值,它可能比大多数接受的值大得多价值观。
【问题讨论】:
标签: java tomcat servlets gwt file-upload