4

我需要创建一个基于 Apache Tomcat 的 Web 应用程序,它可以通过 HTTP(多部分表单 POST 请求)接收大型(100 MB 或更多)文件。

我尝试了 Apache Commons Fileupload,它适用于较小的文件(20-40 MB)。但它不适用于大文件。

有没有明显的方法来实现大文件上传除了

  1. 在客户端使用 Java 小程序,
  2. 调整Tomcat的设置?

更新 1(03.10.2013):这是我在服务器端上传大约 2 个文件时遇到的异常。120 总大小。

例外

4

4 回答 4

6

我找到了另一个解决方案。在 FileUpload 的网站上有一个关于 Streaming API的页面。

该页面上的代码片段解决了我的问题。

于 2013-10-04T09:11:10.137 回答
2

如果是 tomcat 中的错误,您可以增加最大上传文件大小和web.xml.

最大上传 50MB 的示例:

<multipart-config>
    <!-- 50MB max -->
    <max-file-size>52428800</max-file-size>
    <max-request-size>52428800</max-request-size>
    <file-size-threshold>0</file-size-threshold>
</multipart-config>


如果您的 tomcat 前面有 apache 或 nginx 作为代理,您可能还必须在服务器配置中增加它们的上传/发布大小值。

于 2013-10-03T11:41:12.457 回答
1

在 Tomcat配置文件中设置maxPostSizeHTTP 连接器的属性值:server.xml

<Connector port="8080" ... maxPostSize="<high_file_size_value>" ...>

Tomcat 参考文档:http: //tomcat.apache.org/tomcat-7.0-doc/config/http.html#Attributes

于 2013-10-03T11:44:17.083 回答
0

参考这里

可以使用plupload来完成。如果您不想使用小程序,您可以使用 flash、html5 等。可以上传任意数量的任意大小的文件。

于 2015-04-09T10:31:22.870 回答