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 :

[MySql][Struts] Upload image


Sujet :

Struts 1 Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 26
    Points : 9
    Points
    9
    Par défaut [MySql][Struts] Upload image
    Bonjour,

    Toujours avec mon projet (JBoss, Struts et MySQL), je voudrais uploader des images pour ainsi pouvoir les afficher sur le site.
    Par exemple, j'ajoute une voiture a ma base, et je voudrai y ajouter son image pour ensuite lors de recherche, pouvoir l'afficher.
    Est ce que quelqu'un pourrait m'expliquer un peu comment il voirait ca? (Je pense kil fo utiliser des 'longblog' en MySql mais apres je ne vois pas comment afficher cette image sur le site.

    Merci,
    Cedric

  2. #2
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Tu peux utiliser un systeme d'upload de fichier dans un repertoire de destination et faire un lien vers le nom de ton image dans ta table Mysql.

    Pour uploader fait une recherche sur multipart/data tu trouveras surement ton bonheur

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 26
    Points : 9
    Points
    9
    Par défaut
    Je vais me servir un truc du genre (j'ai recuperer un post precedent) :
    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
     
    public void copyFile(File File, String filePath) throws FileNotFoundException {
          try {
             FileOutputStream fileOut = new FileOutputStream(filePath);
             fileOut.write(file.getFileData()); // fileData est un byte[]
             fileOut.flush();
             fileOut.close();
             fileOut = null;
          } catch (FileNotFoundException e) {
             throw new FileNotFoundException(
                "Erreur de création de la piece jointe veuillez fermer le fichier: " + filePath + " s'il est ouvert");
          } catch (Exception e) {
             s_log.error(e.getMessage(), e);
          }
       }
    Mon probleme est que je ne vois pas koi mettre dans filePath. PAr contre, pour recuperer mon image, je me sers d'un objet FormFile.

  4. #4
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Et bien tu mets un chemin absolu sur ton serveur.

    Un truc que tu pourras récupérer après pour l'afficher ex :

    ex unix : /apps/webservers5/monprojet/upload
    ex windows : c:\apps\monprojet\upload\

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 26
    Points : 9
    Points
    9
    Par défaut
    Je suis pour le moment sur mon formulaire. Voici ma page jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:file property="albumImage"/>
    Dans mons Form g l'attributs suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    private FormFile albumImage;
     
    public FormFile getAlbumImage() {
    	return albumImage;
    }
     
    public void setAlbumImage(FormFile albumImage) {
    	this.albumImage = albumImage;
    }
    J'obtiens l'erreur suivante :
    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
     
    exception
     
    javax.servlet.ServletException: BeanUtils.populate
    	org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
    	org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:805)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
     
    root cause
     
    java.lang.IllegalArgumentException: Cannot invoke com.mp3.struts.form.AddAlbumForm.setAlbumImage - argument type mismatch
    	org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1778)
    	org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:1759)
    	org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1648)
    	org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:1677)
    	org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1022)
    	org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
    	org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
    	org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
    	org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:805)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
    Est ce que qqn serait d'ou cela peut venir?

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 26
    Points : 9
    Points
    9
    Par défaut
    Salut,

    Bon j'ai resolu mon probleme precedent. Je me penche maintenant sur l'upload de fichier sur le serveur.
    Deja, je ne vois pas ou mettre mon fichier sur mon serveur JBoss pour apres que les utilisateurs puissent y avoir acces par le web. Ensuite, lorsque je specifie en endroit ds mon disque (par exemple c:\tmp), il me dit : C:\tmp (Access is denied)

    Est ce que quelqu'un pourrait m'aider? Merci.

    Cedric

  7. #7
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Tu as deux possibilitées :

    - Soit tu le mets dans un repertoire ou seul toi a acces, mais tu fais un moteur de redirection (servlet) qui redirigera le flux du fichier (très sécurisé car acces restrein).
    - Soit tu t'arranges pour copier ton fichier dans un repertoire déjà accessible par l'utilisateur (ex : le repertoire ou tu mets les images de ton site).

    Voila.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 26
    Points : 9
    Points
    9
    Par défaut
    Beh le probleme c'est que mon site se trouve dans un .ear (J2EE et Struts). Ce fichier contient toutes l'architecture de mon site. Donc je ne pense pas pouvoir ecrire ds ce fichier.

  9. #9
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Après c'est un problème d'administration JBoss.

    Je ne connais pas bien ce serveur d'app mais fait une recherche sur les repertoires partagés pour un contexte (ta webapp) sur le net, tu devrais trouver ton bonheur.

    Sinon tu utilises la premiere méthode que je t'ai donné.

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/05/2010, 11h21
  2. Upload image png vers base de données mysql langage c + GTK
    Par smalldebian dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 19/08/2009, 11h08
  3. [MySQL] Upload Image MySQL
    Par tamiii dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 05/11/2007, 15h51
  4. image mysql struts
    Par user_ensias dans le forum Struts 1
    Réponses: 1
    Dernier message: 31/08/2006, 10h20
  5. [Upload] Insertion image dans mysql après upload
    Par alexmorel dans le forum Langage
    Réponses: 4
    Dernier message: 21/03/2006, 00h46

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