IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

[Servlet] Upload de fichier utilisant FileUpload de Apache


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 15
    Points : 15
    Points
    15
    Par défaut [Servlet] Upload de fichier utilisant FileUpload de Apache
    Bonjour à tous voici le code de ma servlet
    j'utilise NetBeans 5.5.1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    import java.io.*;
    import java.util.Iterator;
    import java.util.List;
     
    import javax.servlet.*;
    import javax.servlet.http.*;
    import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.FileItemFactory;
    import org.apache.commons.fileupload.FileUploadException;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
     
    /**
     *
     * @author sikro
     * @version
     */
    public class NewServlet extends HttpServlet {
     
        /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
         * @param request servlet request
         * @param response servlet response
         */
     
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, FileUploadException, Exception {
            // Check that we have a file upload request
            if (ServletFileUpload.isMultipartContent(request)){
                // Create a factory for disk-based file items
                FileItemFactory factory = new DiskFileItemFactory(4096,new File("maevatmp"));
     
                // Create a new file upload handler
                ServletFileUpload upload = new ServletFileUpload(factory);
     
                // Parse the request
                List /* FileItem */ items = upload.parseRequest(request);
     
                // Process the uploaded items
                Iterator iter = items.iterator();
                while (iter.hasNext()) {
                    FileItem item = (FileItem) iter.next();
    //                if (item.isFormField()) {
    //                    processFormField(item);
    //                } else {
    //                    processUploadedFile(item);
    //                }
                    // Item information
    //                if (!item.isFormField()) {
                    String fieldName = item.getFieldName();
                    String fileName = item.getName();
                    String contentType = item.getContentType();
                    boolean isInMemory = item.isInMemory();
                    long sizeInBytes = item.getSize();
     
                    if(!new File("maevatmp").exists()) new File("maevatmp").mkdirs();
                    File uploadedFile = new File("maevatmp/"+fileName);
                    item.write(uploadedFile);
     
    //                }
                }
            }
        }
     
            // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
            /** Handles the HTTP <code>GET</code> method.
             * @param request servlet request
             * @param response servlet response
             */
            protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
                try {
                    processRequest(request, response);
                } catch (ServletException ex) {
                    ex.printStackTrace();
                } catch (FileUploadException ex) {
                    ex.printStackTrace();
                } catch (IOException ex) {
                    ex.printStackTrace();
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
     
            /** Handles the HTTP <code>POST</code> method.
             * @param request servlet request
             * @param response servlet response
             */
    //    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    //    throws ServletException, IOException {
    //        processRequest(request, response);
    //    }
     
            public void doPost(HttpServletRequest req, HttpServletResponse res)
            throws ServletException, IOException {
                try {
                    processRequest(req,res);
                } catch (ServletException ex) {
                    ex.printStackTrace();
                } catch (FileUploadException ex) {
                    ex.printStackTrace();
                } catch (IOException ex) {
                    ex.printStackTrace();
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
     
            /** Returns a short description of the servlet.
             */
            public String getServletInfo() {
                return "Short description";
            }
            // </editor-fold>
        }
    j'ai récupéré ce code sur le site de apache :
    http://commons.apache.org/fileupload/using.html

    ma question est de savoir comment je peux tester une telle servlet..
    j'aimerai intégrer des fonctions à une application permettant d'uploader des fichiers vers un serveur de fichier.
    mes connaissances en servlet sont très très très basiques...
    Il faut par ailleurs que je puisse authentifier l'utilisateur en Basic afin que la servlet puisse s'exécuter

    merci d'avance

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Aube (Champagne Ardenne)

    Informations forums :
    Inscription : Août 2004
    Messages : 40
    Points : 39
    Points
    39
    Par défaut
    Bonjour zekiller3,

    Je suis dans la même impasse que toi, je cherche désespérément un tutoriel (un vrai, en dehors de faire un copier/coller) pour permettre un upload de fichiers (txt, csv) vers mon serveur Apache/php...

    Bon courage,
    Michael

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Ce tutoriel est court masi je le trouve bien fait.

    Using the Jakarta Commons part1

    http://www.onjava.com/pub/a/onjava/2...ns.html?page=3

Discussions similaires

  1. Servlet : upload un fichier
    Par AMINJ2E dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 12/01/2012, 12h07
  2. Upload de fichier avec FileUpload
    Par ndalaba dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 07/10/2011, 01h31
  3. [Servlet]uploader un fichier
    Par napster dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 05/03/2009, 10h13
  4. probleme upload de fichier avec FileUpload
    Par Amrouch14 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 16/04/2008, 18h53
  5. [2.0] uploader un fichier avec FileUpload
    Par cortex024 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 16/03/2007, 15h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo