• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

request.getParameter()

 
Pradeep Chandrasekharan Nair
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
i am submitting data from a form using enctype=multipart/form-data. i am not able to get the value of text field using request.getParameter() method. but i am able to save the file which is uploaded. is there any other methods to get the value of text field.
 
Richard Bradford
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Easy(ish) way to get paramters is to use the Apache commons fileupload.
Otherwise you will have to manually parse the request yourself.
 
Himanshu Bisht
Ranch Hand
Posts: 96
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
well u won't b able to do it this way.
use mime parser to upload the file.
U can get the package and the tutorial from the new.
 
Balasubramanian Hitler
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
enctype=multipart/form-data can be used for only file upload.
When you are using enctype=multipart/form-data you can get the value from the request ServletInputStream only.
 
Adeel Ansari
Ranch Hand
Posts: 2874
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by himanshu bisht:
well u won't b able to do it this way.
use mime parser to upload the file.
U can get the package and the tutorial from the new.


i think pardeep uploaded the file successfully, as he mentioned.
 
Rahul kapoor
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Apache commons fileupload serves the same purpose. Not only you can upload the file but also read the values in text field.

for more details on the usage refer here
 
Senthil B Kumar
Ranch Hand
Posts: 160
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When you set the form enc type as multipart form data, all the form contents (textboxes,radiobuttons,hiddenfields,....) are encoded in the binary mode and sent to the Server. Each form controls binary data is seperated by a boundary data.

So you need to implement a MIME Parser, which identifies the binary boundary data. and use this boundary to parse the individual form contents.

So instead of re-inventing the wheel, you can use a 3rd party tool.something like Apache's FileUpload component. It has proper documentation. It is been widely used.
 
Dharmanand Singh
Greenhorn
Posts: 13
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Pradeep Chandrasekharan Nair:
i am submitting data from a form using enctype=multipart/form-data. i am not able to get the value of text field using request.getParameter() method. but i am able to save the file which is uploaded. is there any other methods to get the value of text field.


There are many solutions to your problem if you are ready to embrace some libraries. The solutions and their advantages are as follows:

Solution A: (Advantage: Free Distribution & Widely used)

1. Download one of the versions of UploadFile from http://jakarta.apache.org/commons/fileupload/
2. Invoke parseRequest(request) on org.apache.commons.fileupload.FileUploadBase which returns list of org.apache.commons.fileupload.FileItem objects.
3. Invoke isFormField() on each of the FileItem objects. This determines whether the file item is a form paramater or stream of uploaded file.
4. Invoke getFieldName() to get parameter name and getString() to get parameter value on FileItem if it's a form parameter. Invoke write(java.io.File) on FileItem to save the uploaded file stream to a file if the FileItem is not a form parameter.

Solution B (Advantage: Easy to use)

1. Download http://www.servlets.com/cos/index.html
2. Invoke getParameters() on com.oreilly.servlet.MultipartRequest

Solution C (Restricted to those appliaction that use this framework):

Use Struts. Struts 1.1 handles this automatically.
[ November 01, 2004: Message edited by: Dharmanand Singh ]
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic