【发布时间】:2011-03-26 06:16:03
【问题描述】:
我想知道 Java 文件上传 API 的 StackOverflow 用户过去使用过什么并推荐使用?快速的 Google 搜索似乎表明最常用的 API 是 Apache Commons File Upload(当前为 1.2.1),但是,我们在使用这个库时遇到了一些问题,我们无法处理更大的文件解决。
有没有人找到他们推荐的可靠文件上传库(Apache Commons 除外)?
编辑:Streaming API 不是选项,因为它使用导致我们问题的相同底层类。
EDIT2:我们最初的问题似乎是负载平衡的某种问题。我们的克隆实例使用 Apache/AJP1.3,实时实例使用 Zeus XTM。通过使用服务器 IP 而不是主机名绕过负载平衡器似乎会导致问题消失。
EDIT3:这原来是客户端防火墙的问题。当他们说他们肯定知道这不是防火墙问题时,他们似乎……呃……并不完全真实。
【问题讨论】:
-
什么样的问题?内存相关?
-
导致问题的文件超过 7MB。我们测试过的最大容量是 600MB。发生的情况是浏览器中的上传失败,我们最终在日志中得到一个堆栈跟踪,指出流意外结束。在 Commons File Upload JIRA 实例 (issues.apache.org/jira/browse/FILEUPLOAD-143) 上有一个与此相关的未解决的错误。最后一位评论者是我自己。这不是 Flash 问题,这发生在浏览器中,但仅适用于 Windows XP 和 Vista 客户端。我们完全感到困惑。
-
我就这个问题提出了另一个 StackOverflow 问题 (stackoverflow.com/questions/3263809/…),但似乎没有人知道答案。
-
MultipartStream 文档指出,如果底层输入流未能遵循所需的语法 (RFC 1867),则会引发此特定错误 (MalformedStreamException)。但这不可能是因为您使用的是浏览器。您是否尝试过其他版本或夜间版本?
-
嗯,我们已经尝试降级到早期版本,但没有奏效。但我们还没有尝试过每晚构建 - 我猜这是我们可以尝试的剩余事情之一。
标签: java file-upload upload uploading