Hi all,
I am using the commons-fileUpload 1.1.1 lib to upload files to my
server. The objective is to insert some info in a DB together with the
file path in the server.
The problem is that when I put the ENCTYPE to multipart/form-data, the
other parameters are set to NULL in the servlet that treats the
request.
Did anyone run into this problem?
<FORM ENCTYPE="multipart/form-data" method="post" ACTION="<%=
UtilityClass.APP_PATH + "servlet/ServletDebtLetter" %>" >
<input type="file" name="fileName" maxlength="100" size="30"/>
<input type="text" name="subject" maxlength="100" size="30"/>
</form>
In my doPost method on my servlet I have this in the first line:
public void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException
{
System.out.println(request.getParameter("subject"));
...
}
The output of the println is NULL. Anyone has any clue about it???
Regards,
Pablo
Manish Pandit - 21 Nov 2006 00:43 GMT
Hi,
You will have to use the API provided by DiskUpload, and do a
parseRequest() and get the parameters. Given the fact that the request
is multipart, you cannot have access to the parameters via
getParameter().
You can search for this on google or even this group - I remember
answering a similar question with a code sample some time in September.
-cheers,
Manish
Arne Vajhøj - 21 Nov 2006 01:13 GMT
> I am using the commons-fileUpload 1.1.1 lib to upload files to my
> server. The objective is to insert some info in a DB together with the
[quoted text clipped - 22 lines]
>
> The output of the println is NULL. Anyone has any clue about it???
Some code snippets:
<form action="xuploaddo.jsp" enctype="multipart/form-data" method="post">
Beskrivelse: <input type="text" name="beskrivelse"/><br/>
Fil: <input type="file" name="fil"/><br/>
<input type="submit" value="Submit"/>
</form>
<%@page import="org.apache.commons.fileupload.*,java.util.*,java.io.*"%>
<%
DiskFileUpload upload = new DiskFileUpload();
List files = upload.parseRequest(request);
for(int i = 0; i < files.size(); i++) {
FileItem file = (FileItem)files.get(i);
if(file.getFieldName().equals("beskrivelse")) {
String beskrivelse = file.getString();
out.println("beskrivelse=" + beskrivelse);
}
if(file.getFieldName().equals("fil")) {
String filename = "C:\\test.upl";
file.write(new File(filename));
}
}
%>
Arne
PS: The word "beskrivelse" in danish is "description" in english.