Re: [FileUpload] Servlet stopping at servletFileUpload.parseRequest(request)

2007-07-11 Thread Ben Kuek


Not quite solved,

The code only works if I include the source files for FileUpload.

If I use the jar in the build path, it still fails. Have anybody come 
across this

before?

Ben



Ben Kuek wrote:


Solved,

I downloaded the source to find out that I missed the commons.io package.

On the FileUpload Project Dependencies page, I should have find out 
what it means

when it said that commons.io is optional.


Ben





Ben Kuek wrote:


Thank you for your reply, I'll be more descriptive;



1)  I change the content to include blank lines and confirmed its 
arrival at the

servlet. Printing the request stream at the servlet I get:

Content-type: multipart/form-data, boundary=AaB03x

--AaB03x
content-disposition: form-data; name="field1"

Joe Blow
--AaB03x
content-disposition: form-data; name="pics"; filename="file1.txt"
Content-Type: text/plain

... contents of file1.txt ...
--AaB03x--




2) The part I commented are just code to print the request stream. I 
tested

with and without printing the stream to the console.




3) On the servlet side, I have:

public void doPost(HttpServletRequest request, HttpServletResponse 
response)

   throws ServletException, IOException {
   process(request, response);
}

private void process(HttpServletRequest request, HttpServletResponse 
response)

   throws ServletException, IOException {
 boolean isMultipart = 
ServletFileUpload.isMultipartContent(request);

   if (isMultipart) {
   FileItemFactory factory = new DiskFileItemFactory();
   ServletFileUpload servletFileUpload = new 
ServletFileUpload(factory);


   try {

   // Print the request stream
   int intChar;
   BufferedReader testBR = request.getReader();
   while( (intChar = testBR.read())  != -1) {
   System.out.print((char)intChar);   
   }

   testBR.close();
 // It doesn't get pass this line
   List items = servletFileUpload.parseRequest(request);

   Iterator iter = items.iterator();
// . code omitted

   } catch (Exception e) { // this part is not run
   System.out.println(e.getMessage());
   e.printStackTrace();
   log.error(e.getMessage());
   
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);

   }
   response.setStatus(HttpServletResponse.SC_OK);
   } else { // not multipart
   response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
   }
   }





Rgds,
Ben




Martin Cooper wrote:

A few comments:

1) The content you quote below does not match that in the RFC. The 
blank

lines are very important.
2) Your code shows some stuff that's commented out that would 
prevent the

upload from working if it was not commented out.
3) You don't show how you're creating and initialising the 
servletFileUpload

instance, so we can't tell if you got that right.

--
Martin Cooper


On 7/4/07, Ben Kuek <[EMAIL PROTECTED]> wrote:



Hello,

I am using commons-fileupload-1.2

I am trying to upload a multipart/form-data from a client application
(written in C#)
to the servlet.

The servlet stops at:

servletFileUpload.parseRequest(request);

returning an internal server error (500) to the client.
There are no error messages printed.
System.out.println(exception.getMessage()); doesn't seem to do 
anything




--- 



For testing, I made sure that the client sent the following string
(example from RFC 1867):

Content-type: multipart/form-data, boundary=AaB03x
--AaB03x
content-disposition: form-data; name="field1"
Joe Blow
--AaB03x
content-disposition: form-data; name="pics"; filename="file1.txt"
Content-Type: text/plain
... contents of file1.txt ...
--AaB03x--



--- 



In the servlet, I made sure that the string is received by printing 
the

request stream:

   //int intChar;
   //BufferedReader testBR = request.getReader();
   //while( (intChar = testBR.read())  != -1) {
   //System.out.print((char)intChar);
   //}
   //testBR.close();

   // I've confirmed that the string printed are as 
sent by

the client

   // Servlet will not move pass this line
   List items = servletFileUpload.parseRequest(request);

--- 




Am I doing something wrong?

Warmest regards,
Ben

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




 



No virus foun

Re: [FileUpload] Servlet stopping at servletFileUpload.parseRequest(request)

2007-07-11 Thread Ben Kuek


Solved,

I downloaded the source to find out that I missed the commons.io package.

On the FileUpload Project Dependencies page, I should have find out what 
it means

when it said that commons.io is optional.


Ben





Ben Kuek wrote:


Thank you for your reply, I'll be more descriptive;



1)  I change the content to include blank lines and confirmed its 
arrival at the

servlet. Printing the request stream at the servlet I get:

Content-type: multipart/form-data, boundary=AaB03x

--AaB03x
content-disposition: form-data; name="field1"

Joe Blow
--AaB03x
content-disposition: form-data; name="pics"; filename="file1.txt"
Content-Type: text/plain

... contents of file1.txt ...
--AaB03x--




2) The part I commented are just code to print the request stream. I 
tested

with and without printing the stream to the console.




3) On the servlet side, I have:

public void doPost(HttpServletRequest request, HttpServletResponse 
response)

   throws ServletException, IOException {
   process(request, response);
}

private void process(HttpServletRequest request, HttpServletResponse 
response)

   throws ServletException, IOException {
 boolean isMultipart = 
ServletFileUpload.isMultipartContent(request);

   if (isMultipart) {
   FileItemFactory factory = new DiskFileItemFactory();
   ServletFileUpload servletFileUpload = new 
ServletFileUpload(factory);


   try {

   // Print the request stream
   int intChar;
   BufferedReader testBR = request.getReader();
   while( (intChar = testBR.read())  != -1) {
   System.out.print((char)intChar);   
   }

   testBR.close();
 // It doesn't get pass this line
   List items = servletFileUpload.parseRequest(request);

   Iterator iter = items.iterator();
// . code omitted

   } catch (Exception e) { // this part is not run
   System.out.println(e.getMessage());
   e.printStackTrace();
   log.error(e.getMessage());
   
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);

   }
   response.setStatus(HttpServletResponse.SC_OK);
   } else { // not multipart
   response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
   }
   }





Rgds,
Ben




Martin Cooper wrote:

A few comments:

1) The content you quote below does not match that in the RFC. The blank
lines are very important.
2) Your code shows some stuff that's commented out that would prevent 
the

upload from working if it was not commented out.
3) You don't show how you're creating and initialising the 
servletFileUpload

instance, so we can't tell if you got that right.

--
Martin Cooper


On 7/4/07, Ben Kuek <[EMAIL PROTECTED]> wrote:



Hello,

I am using commons-fileupload-1.2

I am trying to upload a multipart/form-data from a client application
(written in C#)
to the servlet.

The servlet stops at:

servletFileUpload.parseRequest(request);

returning an internal server error (500) to the client.
There are no error messages printed.
System.out.println(exception.getMessage()); doesn't seem to do anything



--- 



For testing, I made sure that the client sent the following string
(example from RFC 1867):

Content-type: multipart/form-data, boundary=AaB03x
--AaB03x
content-disposition: form-data; name="field1"
Joe Blow
--AaB03x
content-disposition: form-data; name="pics"; filename="file1.txt"
Content-Type: text/plain
... contents of file1.txt ...
--AaB03x--



--- 



In the servlet, I made sure that the string is received by printing the
request stream:

   //int intChar;
   //BufferedReader testBR = request.getReader();
   //while( (intChar = testBR.read())  != -1) {
   //System.out.print((char)intChar);
   //}
   //testBR.close();

   // I've confirmed that the string printed are as sent by
the client

   // Servlet will not move pass this line
   List items = servletFileUpload.parseRequest(request);

--- 




Am I doing something wrong?

Warmest regards,
Ben

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






No virus found in this incoming message.
Checked by AVG Free Edition. Version: 7.5.476 / Virus Database: 
269.10.0/886 - Release Date: 4/07/2007 1:40 PM
  



-

Re: [FileUpload] Servlet stopping at servletFileUpload.parseRequest(request)

2007-07-05 Thread Ben Kuek


Thank you for your reply, I'll be more descriptive;



1)  I change the content to include blank lines and confirmed its 
arrival at the

servlet. Printing the request stream at the servlet I get:

Content-type: multipart/form-data, boundary=AaB03x

--AaB03x
content-disposition: form-data; name="field1"

Joe Blow
--AaB03x
content-disposition: form-data; name="pics"; filename="file1.txt"
Content-Type: text/plain

... contents of file1.txt ...
--AaB03x--




2) The part I commented are just code to print the request stream. I tested
with and without printing the stream to the console.




3) On the servlet side, I have:

public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
   process(request, response);
}

private void process(HttpServletRequest request, HttpServletResponse 
response)

   throws ServletException, IOException {
  
   boolean isMultipart = ServletFileUpload.isMultipartContent(request);

   if (isMultipart) {
   FileItemFactory factory = new DiskFileItemFactory();
   ServletFileUpload servletFileUpload = new 
ServletFileUpload(factory);


   try {

   // Print the request stream
   int intChar;
   BufferedReader testBR = request.getReader();
   while( (intChar = testBR.read())  != -1) {
   System.out.print((char)intChar);   
   }

   testBR.close();
  
   // It doesn't get pass this line

   List items = servletFileUpload.parseRequest(request);

   Iterator iter = items.iterator();
 
   // . code omitted


   } catch (Exception e) { // this part is not run
   System.out.println(e.getMessage());
   e.printStackTrace();
   log.error(e.getMessage());
   
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);

   }
   response.setStatus(HttpServletResponse.SC_OK);
   } else { // not multipart
   response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
   }
   }





Rgds,
Ben




Martin Cooper wrote:

A few comments:

1) The content you quote below does not match that in the RFC. The blank
lines are very important.
2) Your code shows some stuff that's commented out that would prevent the
upload from working if it was not commented out.
3) You don't show how you're creating and initialising the 
servletFileUpload

instance, so we can't tell if you got that right.

--
Martin Cooper


On 7/4/07, Ben Kuek <[EMAIL PROTECTED]> wrote:



Hello,

I am using commons-fileupload-1.2

I am trying to upload a multipart/form-data from a client application
(written in C#)
to the servlet.

The servlet stops at:

servletFileUpload.parseRequest(request);

returning an internal server error (500) to the client.
There are no error messages printed.
System.out.println(exception.getMessage()); doesn't seem to do anything



--- 



For testing, I made sure that the client sent the following string
(example from RFC 1867):

Content-type: multipart/form-data, boundary=AaB03x
--AaB03x
content-disposition: form-data; name="field1"
Joe Blow
--AaB03x
content-disposition: form-data; name="pics"; filename="file1.txt"
Content-Type: text/plain
... contents of file1.txt ...
--AaB03x--



--- 



In the servlet, I made sure that the string is received by printing the
request stream:

   //int intChar;
   //BufferedReader testBR = request.getReader();
   //while( (intChar = testBR.read())  != -1) {
   //System.out.print((char)intChar);
   //}
   //testBR.close();

   // I've confirmed that the string printed are as sent by
the client

   // Servlet will not move pass this line
   List items = servletFileUpload.parseRequest(request);

--- 




Am I doing something wrong?

Warmest regards,
Ben

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






No virus found in this incoming message.
Checked by AVG Free Edition. 
Version: 7.5.476 / Virus Database: 269.10.0/886 - Release Date: 4/07/2007 1:40 PM
  



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [FileUpload] Servlet stopping at servletFileUpload.parseRequest(request)

2007-07-05 Thread Martin Cooper

A few comments:

1) The content you quote below does not match that in the RFC. The blank
lines are very important.
2) Your code shows some stuff that's commented out that would prevent the
upload from working if it was not commented out.
3) You don't show how you're creating and initialising the servletFileUpload
instance, so we can't tell if you got that right.

--
Martin Cooper


On 7/4/07, Ben Kuek <[EMAIL PROTECTED]> wrote:



Hello,

I am using commons-fileupload-1.2

I am trying to upload a multipart/form-data from a client application
(written in C#)
to the servlet.

The servlet stops at:

servletFileUpload.parseRequest(request);

returning an internal server error (500) to the client.
There are no error messages printed.
System.out.println(exception.getMessage()); doesn't seem to do anything



---

For testing, I made sure that the client sent the following string
(example from RFC 1867):

Content-type: multipart/form-data, boundary=AaB03x
--AaB03x
content-disposition: form-data; name="field1"
Joe Blow
--AaB03x
content-disposition: form-data; name="pics"; filename="file1.txt"
Content-Type: text/plain
... contents of file1.txt ...
--AaB03x--



---

In the servlet, I made sure that the string is received by printing the
request stream:

   //int intChar;
   //BufferedReader testBR = request.getReader();
   //while( (intChar = testBR.read())  != -1) {
   //System.out.print((char)intChar);
   //}
   //testBR.close();

   // I've confirmed that the string printed are as sent by
the client

   // Servlet will not move pass this line
   List items = servletFileUpload.parseRequest(request);

---


Am I doing something wrong?

Warmest regards,
Ben

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]