2010-08-06 50 views
20

我想知道什么Java文件上传API的StackOverflow用户过去曾经使用过,并推荐使用?一个快速的Google搜索似乎表明最常用的API是Apache Commons File Upload(目前为1.2.1),但是,我们遇到了一些有关使用这个库的问题以及我们无法使用的较大文件解决。Apache公共文件上传替代方案

有没有人找到一个可靠的文件上传库(除了Apache Commons之外),他们会推荐?

编辑:流媒体API是而不是一个选项,因为它使用相同的基础类,导致我们的问题。

编辑2:我们的原始问题似乎是负载平衡的某种问题。我们的克隆实例使用Apache/AJP1.3,而实例使用Zeus XTM。通过使用服务器IP而不是主机名绕过负载平衡器似乎会导致问题消失。

编辑3:这原来是客户端防火墙的问题。看起来他们是..呃..当他们说明确知道这不是防火墙问题时,他们并不完全真实。

+0

有多大的文件? – 2010-08-06 10:02:50

+0

什么样的问题?内存相关? – naikus 2010-08-06 10:06:18

+0

导致问题的文件大小为7MB及以上。我们测试过的最大的是600MB。 会发生什么情况是浏览器中的上传失败,并且我们最终在日志中显示一条堆栈跟踪,其中指出该流程意外结束。 在Commons File Upload JIRA实例(https://issues.apache.org/jira/browse/FILEUPLOAD-143)上有一个与此相关的开放bug。最后一个评论者是我自己。这不是Flash问题,这发生在各种浏览器上,但仅限于Windows XP和Vista客户端。我们完全困惑不解。 – Jon 2010-08-06 10:18:26

回答

1

如果你有时间或内存相关的问题,你看过streaming API的commons文件上传吗?

+0

是的。我们查看了源代码,发现它使用了我们遇到的类 - org.apache.commons.fileupload.MultipartStream。 – Jon 2010-08-06 10:12:22

-2

看看theese设置,限制为8MB默认

upload_max_filesize 
post_max_size 
+0

这些设置在哪里?在通用文件上传本身?我有一个快速的谷歌,他们似乎是Apache的设置。我们没有使用Apache .. – Jon 2010-08-06 15:38:19

+0

在文档(http://commons.apache.org/fileupload/using.html)中,它表示您可以通过执行upload.setSizeMax(yourMaxRequestSize)设置上传的最大上传大小);' - 但是这个值的默认值是-1,这是没有限制的。 – Jon 2010-08-06 15:49:42

+0

-1在Java问题中提及PHP设置 – mhaller 2011-01-14 17:34:48