3

我正在使用org.apache.commons.fileUpload.FileItem和其他相关类将文件从本地机器上传到服务器(尽管对于当前测试,两台机器都是相同的)。

我有.jsp文件作为 UI 和 servlet 来处理上传。现在当请求到达语句

List items = upload.parseRequest(request);

它返回空列表。我在很多地方搜索过这个东西。他们中的大多数指定parserequest()返回空的症状。但是找不到避免这种情况的确切解决方案。在一个地方,我可以看到 Tomcat 可能有过滤器,这些过滤器可能已经解析了请求,这就是为什么在上面调用 parseRequest 返回空列表的原因。但是没有规范如何避免这种情况。

是因为我使用的 Web 服务器(即 JBOss)吗?还是与java版本和commons.jar版本冲突有什么关系?

我在用

  • 杰瑞 1.6
  • jboss-4.0.4.CR2
  • commons-fileupload-1.2.2.jar
  • Eclipse(创建动态 Web 项目)

您的帮助将非常有用。

4

2 回答 2

15

我在 Tomcat 中使用类似的设置遇到了同样的问题。解决方案就像在我的输入文件元素上放置一个名称属性一样简单。

在我有<input type="file" />我的 HTML 表单之前。

一旦我添加了一个名称标签,即<input type="file" name="aFile" />当我从 servlet/JSP 调用 parseRequest(request) 时,我的 DiskFileUpload 对象停止返回一个空列表。

于 2011-02-01T17:27:24.667 回答
0

我正在使用 jboss 5.1 并且使用 commons-fileupload 库没有问题。确保您拥有正确版本的 jboss 4.0.4 (jre 1.6),因为它可能只支持 jre 1.5。如果需要 1.6 或将 jre 更改为 1.5,您可能需要考虑升级到下一个版本。

您应该发布更多的 java 和 JSP 代码,以便我们可以看到您是如何发布请求的。祝你好运

于 2010-11-23T20:13:41.377 回答