• [^] # Re: commons.fileupload

    Posté par . En réponse au message Faire un upload. Évalué à 2.

    Okay, j'ai un peu cherché, lu le javadoc et j'ai pondu ça :


    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 GET method.
    * @param request servlet request
    * @param response servlet response
    */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    processRequest(request, response);
    }

    /**
    * Handles the HTTP POST method.
    * @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.