le formulaire appelent transfile.jsp doit avoir la propriété encype suivante :
<FORM ACTION=transfile.jsp METHOD=POST ENCTYPE="multipart/form-data">
<INPUT name=foo VALUE="bar">
<INPUT TYPE=FILE NAME="" >
</FORM>
et transfile.jsp :
<%@ page language="java" import="java.io.*,java.sql.*,java.text.*" %>
<%@ page import="java.util.*,org.apache.commons.fileupload.*" %>
<%
boolean isMultipart = FileUpload.isMultipartContent(request);
if(!isMultipart){
request.setAttribute("error","Request was not multipart!" );
request.getRequestDispatcher("sqlBase.jsp" ).forward(request, response);
return;
}
DiskFileUpload upload = new DiskFileUpload();
List items = upload.parseRequest(request);
Iterator it = items.iterator();
while (it.hasNext()) {
FileItem item = (FileItem) it.next();
if (item.isFormField()) {
request.setAttribute(item.getFieldName(),item.getString());
System.err.println("ATTR="+item.getFieldName()+" VALUE="+item.getString());
}
else if (!item.isFormField() && item.getName()!=null && item.getName().length()!=0) {
File fullFile=new File(item.getName());
File savedFile=new File(getServletContext().getRealPath("/" )+"/tmp/",fullFile.getName());
item.write(savedFile);
request.setAttribute(item.getFieldName(),savedFile.getAbsolutePath());
System.err.println("ATTR="+item.getFieldName()+" VALUE="+savedFile.getAbsolutePath());
}
}
request.getRequestDispatcher("yourStuff.jsp" ).forward(request,response);
%>