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'image et enregistrement


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Par défaut Upload d'image et enregistrement
    Bonjour,
    C'est tout bête je souhaite faire un upload d'une image dans mon formulaire, j'utilise donc la balise struts :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:file property="cheminImg" name="progForm" size="50"></html:file>
    Je fais le bien le boulot pour modifier le chemin de mon image dans ma base mais je ne vois pas comment copier cette image pour l'enregistrer dans le répertoire voulu de mon appli ? J'ai fait qq recherche ou on parle de "Mulitpart" mais j'ai aussi lu que ça se faisait tout seul avec Struts alors je ne sais plus quoi penser.

  2. #2
    Membre éclairé Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Par défaut
    Voici le fruit de mes recherches :
    1 - Dans la JSP il faut déclarer votre formulaire en ajoutant l'attribut enctype et en lui donnant la valeur "multipart/form-data" et ajouter la balise struts "html:file":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <html:form action="/afficherProgramme" styleId="programmeForm" enctype="multipart/form-data">
    <html:file property="cheminImg" name="progForm" size="50"></html:file>
    2 - Dans la classe Form il faut ajouter la propriété "img" de type FormFile avec les getter et setter :
    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
     
            protected FormFile img=null;
     
            /**
             * @return the img
             */
    	public FormFile getImg() {
    		return img;
    	}
     
    	/**
             * @param img the img to set
             */
    	public void setImg(FormFile img) {
    		this.img = img;
    	}
    3 - Dans la classe action, récupérer cette propriété :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            FormFile imgFile = progForm.getImg();
    4 - Créer une méthode "copierImage" qui va copier l'image à l'endroit voulu en lui passant en paramètre le fichier "imgFile" récupérer plus haut :
    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
     
    public void copierImage(FormFile myFile){
    		try
            {
                InputStream fileInput  = myFile.getInputStream();
                FileOutputStream fileOutput = new FileOutputStream("toto.jpg");
     
                byte[] buf = new byte[1024];
                int i = 0;
                while((i=fileInput.read(buf))!=-1)
                {
                    fileOutput.write(buf, 0, i);
                }
                fileInput.close();
                fileOutput.close();
     
            }
            catch (FileNotFoundException e){
            	e.printStackTrace();
            } catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    Ce code va enregistrer le fichier "toto.jpg" à la racine du serveur. Personnellement j'utilise EasyEclipse, le fichier "toto.jpg" se trouve dans le même répertoire que eclipse.exe.

  3. #3
    Membre éclairé Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Par défaut
    Du coup j'ai une autre question : Comment faire pour copier mon fichier "toto.jpg" dans le Web-Content de mon appli plutôt que sur le serveur d'application ?

  4. #4
    Membre éclairé Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Par défaut
    J'ai demander aux collègues du Forum TomCat et voici la réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String path = req.getSession().getServletContext().getRealPath("/");
    "path" étant le chemin d'accès à la racine du déploiement de l'application.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Upload d'image et enregistrement dans base de données
    Par maumen dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 31/07/2009, 15h54
  2. Réponses: 3
    Dernier message: 14/03/2007, 22h16
  3. [Tableaux] Uploade images et enregistrement dans BD
    Par dunbar dans le forum Langage
    Réponses: 9
    Dernier message: 27/11/2006, 14h53
  4. Uploade images et enregistrement dans BD
    Par dunbar dans le forum Outils
    Réponses: 2
    Dernier message: 20/11/2006, 22h17
  5. Upload d'images sur le forum
    Par KibitO dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 09/10/2004, 23h18

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