我需要创建一个基于 Apache Tomcat 的 Web 应用程序,它可以通过 HTTP(多部分表单 POST 请求)接收大型(100 MB 或更多)文件。
我尝试了 Apache Commons Fileupload,它适用于较小的文件(20-40 MB)。但它不适用于大文件。
有没有明显的方法来实现大文件上传除了
- 在客户端使用 Java 小程序,
- 调整Tomcat的设置?
更新 1(03.10.2013):这是我在服务器端上传大约 2 个文件时遇到的异常。120 总大小。
我需要创建一个基于 Apache Tomcat 的 Web 应用程序,它可以通过 HTTP(多部分表单 POST 请求)接收大型(100 MB 或更多)文件。
我尝试了 Apache Commons Fileupload,它适用于较小的文件(20-40 MB)。但它不适用于大文件。
有没有明显的方法来实现大文件上传除了
更新 1(03.10.2013):这是我在服务器端上传大约 2 个文件时遇到的异常。120 总大小。
我找到了另一个解决方案。在 FileUpload 的网站上有一个关于 Streaming API的页面。
该页面上的代码片段解决了我的问题。
如果是 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 作为代理,您可能还必须在服务器配置中增加它们的上传/发布大小值。
在 Tomcat配置文件中设置maxPostSize
HTTP 连接器的属性值:server.xml
<Connector port="8080" ... maxPostSize="<high_file_size_value>" ...>
Tomcat 参考文档:http: //tomcat.apache.org/tomcat-7.0-doc/config/http.html#Attributes
参考这里
可以使用plupload来完成。如果您不想使用小程序,您可以使用 flash、html5 等。可以上传任意数量的任意大小的文件。