小编Sun*_*nil的帖子

Tomcat 6.0大文件上传(> 2 GB)

我在使用大于2GB的文件上传HTTP文件时遇到问题.服务器和客户端都是64位,因此从系统角度来看,必须没有2GB的限制.我做了以下事情:

  1. 在Apache LimitRequestBody = 0(http://httpd.apache.org/docs/2.0/mod/core.html#LimitRequestBody)
  2. 在Tomcat Connector maxPostSize = 0(http://tomcat.apache.org/tomcat-5.5-doc/config/ajp.html)

我正在使用apache commons文件上传.我还尝试使用ServerFileUpload setMaxFileSize方法设置最大文件大小.

我能够上传小于2GB的文件(我成功尝试了1.88GB文件).请指导我,我在这里错过了什么?

更具体的说,ServletFileUpload.parseRequest方法在上传大文件时返回0 FileItems

这是代码片段:

if (isMultipartForm()) {
try {
    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(SIZE_THRESHOLD);//SIZE_THRESHOLD = 4MB
    ServletFileUpload upload = new ServletFileUpload(factory);
        //upload.setFileSizeMax(3000000000L); Tried this too
    upload.setProgressListener(progressListener);
    items = upload.parseRequest(request);
    if(items != null && items.size() == 0)
    return new CommandResultSet(false, "NoItemsFoundInRequest");
    return new CommandResultSet(true, "" + ( (items!=null) ? items.size() : ""));
} catch(FileUploadException e) {
    e.printStackTrace();
    System.out.println("Exception in MultipartFormManager. Can not parse …
Run Code Online (Sandbox Code Playgroud)

java file-upload

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

file-upload ×1

java ×1