try {
// Create a factory for disk-based file items
DiskFileItemFactory factory = new DiskFileItemFactory();
// Set factory constraints
factory.setSizeThreshold(1024);
factory.setRepository(new File("..\\temp\\"));
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Set overall request size constraint
upload.setSizeMax(10000000);
// Parse the request
List items=null ;
if ( upload.isMultipartContent(request) ) {
items = upload.parseRequest(request);// Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
item.write(new File(ImgDir+item.getName())) ;
}
[^] # Re: commons.fileupload
Posté par kowalsky . En réponse au message Faire un upload. Évalué à 2.
import java.io.PrintWriter ;
import javax.servlet.ServletException ;
import javax.servlet.http.HttpServlet ;
import javax.servlet.http.HttpServletRequest ;
import javax.servlet.http.HttpServletResponse ;
import java.util.List ;
import java.util.Iterator ;
import org.apache.commons.fileupload.* ;
import org.apache.commons.fileupload.disk.DiskFileItemFactory ;
import org.apache.commons.fileupload.servlet.ServletFileUpload ;
//import java.awt.image.BufferedImage ;
//import javax.imageio.ImageIO ;
import java.io.IOException ;
import java.io.File ;
public class upload extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8") ;
response.setHeader("Pragma", "no-cache") ;
response.setHeader("Cache-Control", "no-store") ;
response.setHeader("Expires", "0") ;
PrintWriter web = response.getWriter();
String ImgDir="..\\temp\\" ;
try {
// Create a factory for disk-based file items
DiskFileItemFactory factory = new DiskFileItemFactory();
// Set factory constraints
factory.setSizeThreshold(1024);
factory.setRepository(new File("..\\temp\\"));
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Set overall request size constraint
upload.setSizeMax(10000000);
// Parse the request
List items=null ;
if ( upload.isMultipartContent(request) ) {
items = upload.parseRequest(request);// Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
item.write(new File(ImgDir+item.getName())) ;
}
} else {
web.println( "Rien d'envoyé !" ) ;
}
} catch ( FileUploadException FUE ) {
web.println(FUE.toString()) ;
} catch ( Exception Exc ) {
web.println(Exc.toString()) ;
} finally {
web.close();
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP
GETmethod.* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP
POSTmethod.* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*/
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
Je te remercie, ça marche bien.