You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by "Shah, Mehul - Contractor" <me...@xo.com> on 2003/11/25 23:46:00 UTC

File Upload does not work....

Hello,

 

I am using Tomcat 4.1 and Commons-FileUpload api. I cant get it working.
I get the following error:

 


HTTP Status 500 - Internal Server Error

  _____  


type Exception report

message Internal Server Error

description The server encountered an internal error (Internal Server
Error) that prevented it from fulfilling this request.

exception 

javax.servlet.ServletException: Servlet execution threw an exception
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:269)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:256)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:191)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
        at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.ja
va:246)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:241
7)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:180)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
lve.java:171)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:172)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:174)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.j
ava:1040)
        at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:
1151)
        at java.lang.Thread.run(Thread.java:479)

root cause 

java.lang.NoClassDefFoundError: javax/servlet/ServletInputStream
        at
mehul.servlet.fileupload.FileUploadServlet.doPost(FileUploadServlet.java
:43)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:247)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:256)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:191)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
        at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.ja
va:246)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:241
7)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:180)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
lve.java:171)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:172)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:174)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.j
ava:1040)
        at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:
1151)
        at java.lang.Thread.run(Thread.java:479)
  _____  


Apache Tomcat/4.1.29


 

========================================================================
=========

 

My HTML looks like:

 

 

<HTML>

<HEAD></HEAD>

<BODY>

<BR>

<CENTER>

<P>

UPLAOD A DOCUMENT FILE ON THE SERVER

</P>

<BR>

<FORM METHOD="POST" ENCTYPE="MULTIPART/FORM-DATA"
ACTION="FileUploadServlet">

<!-- <FORM NAME="UPLOADFORM" METHOD="POST" ACTION="FileUploadServlet">
-->

<INPUT TYPE="FILE" NAME="UPLOADFILENAME">

<BR>

<INPUT TYPE="TEXT" NAME="TEST" VALUE="AAAAAAAAA">

<BR>

<BR>

<INPUT TYPE="SUBMIT" VALUE="UPLOAD">

</FORM>

</CENTER>

</BODY>

</HTML>

 

My code looks like:

 

            public void doPost(HttpServletRequest request,
HttpServletResponse response)

                                                            throws
ServletException, IOException {

 

                        try {

                                    boolean isMultipart =
FileUpload.isMultipartContent(request);

 

                                    if(isMultipart == true) {

 

                                                DiskFileUpload upload =
new DiskFileUpload();

                                                List items =
upload.parseRequest(request, 1024*4, 1024*2000, "c:\\temp");

 

                                                Iterator iter =
items.iterator();

 

                                                while (iter.hasNext()) {

 

                                                            FileItem
item = (FileItem) iter.next();

 

                                                            if
(item.isFormField()) {

 
String name = item.getFieldName();

 
String value = item.getString();

 
System.out.println("Name = " + name);

 
System.out.println("Value = " + value);

                                                            }

                                                            else {

 
String fieldName = item.getFieldName();

 
String fileName = item.getName();

 
String contentType = item.getContentType();

 
boolean isInMemory = item.isInMemory();

 
long sizeInBytes = item.getSize();

 
File uploadedFile = new File("c:\\mehul\\ssl\\" + fileName);

 
item.write(uploadedFile);

                                                            }

                                                }

                                    }

 

 
request.getRequestDispatcher("UploadResponse").forward(request,
response);

                        }

                        catch(Exception e) {

                                    e.printStackTrace();

                        }

            }

 

 

The servlet.jar file is in server/lib directory. I am running on windows
xp machine. 

 

Your help is appreciated. 

 

 

-Mehul Shah


Re: File Upload does not work....

Posted by "Craig R. McClanahan" <cr...@apache.org>.
Quoting "Shah, Mehul - Contractor" <me...@xo.com>:

> Hello,
> 
>  
> 
> I am using Tomcat 4.1 and Commons-FileUpload api. I cant get it working.
> I get the following error:
> 

One thing to ensure is that you're not trying to include servlet.jar inside your
webapp (since it's built in to Tomcat already).  Including servlet.jar is
pretty much guaranteed to cause you very wierd errors, and this could certainly
be one of them.

On the other hand, it is important to include commons-fileupload.jar and any
JARs it depends on (see the docs) in your webapp's WEB-INF/lib directory.

Craig


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org