我需要创建一个基于Apache Tomcat的Web应用程序,它可以通过HTTP(多部分表单POST请求)接收大量(100 MB或更多)文件。
我尝试了Apache Commons Fileupload,它适用于较小的文件(20-40 MB)。但它不适用于大文件。
除了
之外,是否有任何明显的方法可以实现大文件上传更新1(03.10.2013):以上是我在上传2个文件时在服务器端获得的例外情况。总大小为120。
答案 0 :(得分:5)
我找到了另一个解决方案。在FileUpload的网站上,有一个关于Streaming API的page。
该页面上的代码段解决了我的问题。
答案 1 :(得分: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作为代理,则可能必须在服务器配置中增加其上传/发布大小值。
答案 2 :(得分:1)
在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
答案 3 :(得分:0)
参考here
可以使用plupload完成。如果您不想使用applet,可以使用flash,html5等。可以上传任意大小的任意数量的文件。