【问题标题】:session lost in MultipartRequest会话在 MultipartRequest 中丢失
【发布时间】:2011-08-12 20:07:08
【问题描述】:

我正在向我的应用程序添加文件上传功能。我有一个问题,每当我在我的 jsp 页面中使用 enctype ="multipart/form-data" 时,会话将变为空。当我删除上述 enctype 时它工作正常,但文件上传不再起作用。 你知道如何解决这个问题吗? 任何建议将不胜感激。非常感谢。

【问题讨论】:

  • 能贴一下相关代码吗?
  • 我在 a.jsp 中设置会话属性,并试图在 b.jsp 中访问此属性,在这之间我使用 jupload.jar,同时显示 jupload 在 a.jsp 中打印此值它的工作很好,当我点击上传时它重定向到 b.jsp 但这里的值为空 a.jsp 代码 pg.session.setAttribute("projId", projId);在 a.jsp onclick 这个语句重定向到 b.jsp 这里 String strCurUsrId = (String)pg.session.getAttribute("projId");但它返回 null 你能弄清楚吗

标签: java jsp session servlets jakarta-ee


【解决方案1】:

从您的描述看来,会话似乎不是空的,但您没有像以前那样从会话中获取属性。

尝试Apache Commons Fileupload 之类的方法来获得一个非常简单的解决方案。

【讨论】:

  • 是的,您是对的,会话属性返回 null。但是一次使用 Apache Commons Fileupload 只能上传一个文件。我要求一次上传多个文件。
  • AFAIK,Fileupload 将允许您一次上传多个文件。您只需要遍历 FileItems 返回的 ServletFileUpload#parseRequest()
  • 但在浏览文件时,无法选择多个文件。实际上,以前我使用的是 tomcat 5.0,jdk1.4,它工作正常,但现在我改为 tomcat 7.0,jdk1.6。现在会话属性返回 null。
  • 好吧,如果您不使用 Flash 等,在我所知道的任何浏览器中都无法选择多个文件。您可以使用多个输入字段来选择多个文件,然后通过一次提交上传这些文件。您之前是否使用过多个文件选择?如果有,怎么做?
猜你喜欢
  • 2017-09-20
  • 2013-06-28
  • 1970-01-01
  • 2015-04-18
  • 1970-01-01
  • 2013-08-10
  • 2012-05-09
  • 2012-06-03
相关资源
最近更新 更多