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

Struts 1 Java Discussion :

upload d'un fichier avec struts


Sujet :

Struts 1 Java

  1. #1
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut upload d'un fichier avec struts
    bonjour comme le titre indique, j'ai un petit soucie pour faire l'up load d'un fichier avec struts voila mes code:
    index.jsp (contien le formulaire)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <html:form action="/index.do?from=sender" method="post" enctype="multipart/form-data">
       <html:file property="fichier"/>
    <br><html:submit value="submit"/>
    </html:form>
    le bean (UploadActionForm)
    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
    package com.myapp.struts;
     
    import org.apache.struts.upload.FormFile;
     
     
    public class UploadActionForm extends org.apache.struts.action.ActionForm {
     
    protected FormFile fichier;
     
        public FormFile getFichier() {
            return fichier;
        }
     
        public void setFichier(FormFile fichier) {
            this.fichier = fichier;
        }
     
     
        public UploadActionForm() {
            super();
     
        }
     
    }
    le action bean(UploadAction)
    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
    package com.myapp.struts;
     
     
    import java.io.File;
    import java.io.FileOutputStream;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
     
    import org.apache.struts.action.*;
    import org.apache.struts.upload.FormFile;
     
    /**
     *
     * @author Administrateur
     */
    public class UploadAction extends org.apache.struts.action.Action {
     
        /* forward name="success" path="" */
        private final static String SUCCESS = "success";
     
     
     
        public ActionForward execute(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)
                throws Exception {
          UploadActionForm myForm = (UploadActionForm)form;
     
            // Process the FormFile
            FormFile myFile = myForm.getFichier();
            String contentType = myFile.getContentType();
        //Get the file name
            String fileName    = myFile.getFileName();
            //int fileSize       = myFile.getFileSize();
            byte[] fileData    = myFile.getFileData();
        //Get the servers upload directory real path name
        String filePath = getServlet().getServletContext().getRealPath("/") +"upload";
        /* Save file on the server */
        if(!fileName.equals("")){
            System.out.println("Server path:" +filePath);
            //Create file
            File fileToCreate = new File(filePath, fileName);
            //If file does not exists create file
            if(!fileToCreate.exists()){
              FileOutputStream fileOutStream = new FileOutputStream(fileToCreate);
              fileOutStream.write(myFile.getFileData());
              fileOutStream.flush();
              fileOutStream.close();
            }
     
     
        }
        //Set file name to the request object
        request.setAttribute("fileName",fileName);
     
            return mapping.findForward(SUCCESS);
        }
    }
    stuts-config.xml
    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
    <?xml version="1.0" encoding="UTF-8" ?>
     
    <!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
              "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
     
     
    <struts-config>
        <form-beans>
            <form-bean name="UploadActionForm" type="com.myapp.struts.UploadActionForm"/>
     
        </form-beans>
     
        <global-exceptions>
     
        </global-exceptions>
     
        <global-forwards>
            <forward name="welcome"  path="/Welcome.do"/>
        </global-forwards>
     
        <action-mappings>
            <action name="UploadActionForm" path="/index" scope="request" type="com.myapp.struts.UploadAction" validate="false">
                <forward name="success" path="/WEB-INF/success.jsp"/>
                </action>
            <action path="/Welcome" forward="/welcomeStruts.jsp"/>
        </action-mappings>
     
        <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>
     
        <message-resources parameter="com/myapp/struts/ApplicationResource"/>    
     
        <plug-in className="org.apache.struts.tiles.TilesPlugin" >
            <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />      
            <set-property property="moduleAware" value="true" />
        </plug-in>
     
        <!-- ========================= Validator plugin ================================= -->
        <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
            <set-property
                property="pathnames"
                value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
        </plug-in>
     
    </struts-config>
    success.jsp( la page qui affiche le lien pour télécharger le fichier(just pour tester l'upload)
    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
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
            <%
    String fileName=(String)request.getAttribute("fileName");
    %>
     
    <p align="center"><font size="5" color="#000080">File Successfully Received</font></p>
    <p align="center"><a href="upload/<%=fileName%>">Click here to download</a></p>
     
        </body>
    </html>
    et voila les erreur afficher par tom le chat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    java.io.FileNotFoundException: C:\Documents and Settings\Administrateur\Mes documents\NetBeansProjects\upload\build\web\upload\Introduction à  Hibernate.mht (Le chemin d'accès spécifié est introuvable)
    	java.io.FileOutputStream.open(Native Method)
    	java.io.FileOutputStream.(FileOutputStream.java:179)
    	java.io.FileOutputStream.(FileOutputStream.java:131)
    	com.myapp.struts.UploadAction.execute(UploadAction.java:50)
    	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 26
    Par défaut
    Salut, tu as essayer avec un nom de fichier sans accent et au format 8.3 ? exemple "toto.txt" ?

Discussions similaires

  1. Upload fichier avec Struts 2
    Par fruwen7 dans le forum Struts 2
    Réponses: 1
    Dernier message: 02/08/2012, 13h23
  2. [upload ] upload fichier avec struts?
    Par ismas dans le forum Struts 1
    Réponses: 2
    Dernier message: 03/06/2008, 15h27
  3. probleme d'upload du fichier avec struts
    Par buchir dans le forum Struts 1
    Réponses: 5
    Dernier message: 22/06/2007, 20h59
  4. [Upload] Nom de fichier avec un/des caractères accentués ?
    Par Christophe Charron dans le forum Langage
    Réponses: 11
    Dernier message: 09/06/2006, 21h46
  5. [Upload] Problème upload de gros fichiers avec Firefox
    Par the rootsm@n dans le forum Langage
    Réponses: 12
    Dernier message: 19/02/2006, 20h43

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