There are many solutions. I have also listed the advantages of each.
Problem: javax.servlet.HttpServletRequest.getParameter(
String) returns null when the ContentType is multipart/form-data
Solutions:
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 applications that use this framework):
Use
Struts. Struts 1.1 handles this automatically.