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:
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