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 2 Java Discussion :

Problème de téléchargement de fichier


Sujet :

Struts 2 Java

  1. #1
    Membre régulier
    Profil pro
    gnome
    Inscrit en
    Octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : El Salvador

    Informations professionnelles :
    Activité : gnome

    Informations forums :
    Inscription : Octobre 2004
    Messages : 142
    Points : 71
    Points
    71
    Par défaut Problème de téléchargement de fichier
    Bonjour,

    Je cherche à récupérer un fichier passé par le champ "file" d'un formulaire.

    J'ai suivi le tutoriel officiel (méthode 2, recommandée), mais il est très vague : http://struts.apache.org/2.x/docs/ho...oad-files.html

    Notamment concernant l'écriture de la classe Action.

    J'ai codé le formulaire. Le champ fichier est "myDoc".
    J'ai codé l'Action dont voici le code :

    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
    package org.ecoscope.icame.strutsactions;
     
    import org.apache.struts2.components.File;
    import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.ContentType;
     
    public class Upload {
    	private String resultStatus = null;
    	private File myDoc = null;
    	private ContentType myDocContentType = null;
    	private String myDocFileName = null;
     
    	public String execute() throws Exception {
    		setResultStatus("Succès ! : "+myDoc);
    		return "success";
    	}
     
    	//Getters & setters
    	public File getMyDoc() {
    		return myDoc;
    	}
     
    	public void setMyDoc(File myDoc) {
    		this.myDoc = myDoc;
    	}
     
    	public ContentType getMyDocContentType() {
    		return myDocContentType;
    	}
     
    	public void setMyDocContentType(ContentType myDocContentType) {
    		this.myDocContentType = myDocContentType;
    	}
     
    	public String getMyDocFileName() {
    		return myDocFileName;
    	}
     
    	public void setMyDocFileName(String myDocFileName) {
    		this.myDocFileName = myDocFileName;
    	}
     
    	public String getResultStatus() {
    		return resultStatus;
    	}
     
    	public void setResultStatus(String resultStatus) {
    		this.resultStatus = resultStatus;
    	}
    }
    Au moment du submit, j'obtiens l'erreur : ERROR ParametersInterceptor:204 - ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'myDoc' on 'class org.ecoscope.icame.strutsactions.Upload: Error setting expression 'myDoc' with value '[Ljava.lang.String;@6d3ca2'

    J'attéris sur la page "success", dont je pense que la méthode execute() est exécutée.

    Curieusement, il semble vouloir mettre une chaine dans la propriété "myDoc" qui est un "File".

    Questions :
    - Où est le problème ?
    - Pour le "File, j'ai importé "org.apache.struts2.components.File", mais ce n'est pas le seul type File proposé. Est-ce le bon ? (il y a aussi un java.io.File)

    Merci de votre aide.
    Pascal

  2. #2
    Membre régulier
    Profil pro
    gnome
    Inscrit en
    Octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : El Salvador

    Informations professionnelles :
    Activité : gnome

    Informations forums :
    Inscription : Octobre 2004
    Messages : 142
    Points : 71
    Points
    71
    Par défaut
    Je m'auto-réponds.

    En remplaçant le tag <form>...</form> par <s:form>...</s:form> (tags struts2), le problème devenait :

    "java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest"

    Le problème vient du fait qu'il manquait 2 jars dans les librairies de mon projet, librairies qui ne sont pas fournies dans la distribution mais qu'il faut télécharger sur le site d'Apache :
    *commons-fileupload-1.2.jat
    * commons-io-1.3.2.jar

    On recompile, est ça roule.


    Pascal

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/01/2007, 08h39
  2. [Webspère] Problème de téléchargement de fichier
    Par marsup54 dans le forum Apache
    Réponses: 4
    Dernier message: 09/01/2007, 15h30
  3. [VB.net] Problème de téléchargement de fichier
    Par darkmoon25 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 01/12/2006, 11h06
  4. problème de téléchargement de fichier
    Par mayssabac dans le forum Langage
    Réponses: 2
    Dernier message: 18/11/2006, 23h12
  5. Réponses: 5
    Dernier message: 05/11/2005, 17h53

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