【问题标题】:File uploading issue in jspjsp文件上传问题
【发布时间】:2012-01-14 19:07:46
【问题描述】:

我必须上传一个文件,而我正在尝试运行显示消息

 org.apache.jasper.JasperException: Exception in JSP: /RootSipResource.jsp:33

30:        out.println("Cookies" + request.getCookies());
31:        
32:        DiskFileUpload upload=new DiskFileUpload();
33:        List items=upload.parseRequest(request);
34:         Iterator it=items.iterator();   
35:        while(it.hasNext())  
36:                {          


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

root cause

javax.servlet.ServletException: the request doesn't contain a multipart/form-data or multipart/mixed stream, content type header is null
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
    org.apache.jsp.RootSipResource_jsp._jspService(RootSipResource_jsp.java:577)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

root cause

org.apache.commons.fileupload.FileUploadBase$InvalidContentTypeException: the request doesn't contain a multipart/form-data or multipart/mixed stream, content type header is null
    org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:768)
    org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:323)
    org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:341)
    org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:302)
    org.apache.jsp.RootSipResource_jsp._jspService(RootSipResource_jsp.java:91)

在jsp页面中表单域设置为

<form name="frm" id="frmLoad" method="post" enctype="multipart/form-data">  

isMultipart 打印为 true(boolean isMultipart = FileUpload.isMultipartContent(request);)

       `out.println("Content Type ="+request.getContentType());` is printed as null

【问题讨论】:

  • 我想你错过了 action 属性。
  • 你能解释一下吗?
  • 我添加了表单操作并且重复相同的结果
  • 编写简洁的代码并在您身边测试或在您的帖子中添加servlt代码和jsp代码的片段。

标签: jsp file-upload multipartform-data


【解决方案1】:

此异常表明&lt;form&gt; 元素中缺少method="post"enctype="multipart/form-data"。但由于它们显然存在,原因在于其他地方。也许您正在嵌套表单,或者误解了结果,或者没有运行您认为正在运行的代码。

无论如何,应避免在 JSP 文件中编写 Java 代码。使用 servlet。你可以在这个答案中找到一个具体的例子:How to upload files to server using JSP/Servlet?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-14
    • 2015-04-15
    • 2012-03-21
    • 1970-01-01
    • 2010-10-17
    相关资源
    最近更新 更多