divz
divz

Reputation: 7957

File uploading issue in jsp

I have to upload a file ,while iam trying to run showing the message

 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)

In jsp page the form field set as

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

isMultipart is printed as true(boolean isMultipart = FileUpload.isMultipartContent(request);)

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

Upvotes: 2

Views: 13623

Answers (1)

BalusC
BalusC

Reputation: 1108722

This exception indicates that either method="post" or enctype="multipart/form-data" is missing from the <form> element. But as they are apparently present, the cause lies elsewhere. Perhaps you're nesting forms, or misinterpreting the results, or not running the code you think you're running.

In any way, writing Java code in JSP files should be avoided. Use a servlet. You can find a concrete example in this answer: How to upload files to server using JSP/Servlet?

Upvotes: 6

Related Questions