bonjour,
mon application est un site web fait avec struts,jsp,servlet.
j'essaie de faire l'upload des images vers un dossier "img" situé sur le serveur.à partir d'un input (type:file) je récupère le fichier à envoyer sur le serveur (son mon,datan...).je travaille en local :si j'associe au dossier (dans lequel je ferai l'insertion )un chemin absolu (de type c:/monProjet/img), ça marche .mais du moment ou le travail n'est plus en local (serveur distant),je sais plus quoi faire.
j'ai essayé de remplacer ça :
String path="C:/monProjet/img
par
String path="http://localhost:8080/monProjet/img"
Mais il m'affiche chemin introuvable.
j'ai essayé aussi
String path="//localhost:8080/monProjet/img"
voila mon code:
dans la .jsp:
1 2 3 4
| <form name="ff" action='UploadAction.do?action=upload&maxIdAct=${maxIdAct}' method="post" enctype="multipart/form-data">
<input type="file" name="fichier" id="fichier" size="50" maxlength="250"/>
<input type="submit" />
</form> |
dans ma .strutsConfig.xml
1 2 3 4 5 6 7
| <form-bean name="frmUpload" type="projet.site.forms.UploadForm" >
<form-property name="fichier" type="org.apache.struts.upload.FormFile"/>
</form-bean>
<action path="/UploadAction" type="projet.site.actions.UploadAction" name="frmUpload" scope="session" validate="false" >
<forward name="upload" path="upload.image" />
<forward name="ficherEnvoye" path="----" />
</action> |
et dans ma classe .java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| UploadForm uploadform =(UploadForm)actionForm;
FormFile formFile = (FormFile) uploadform.getFichier();
//String path="C:/monProjet/img/" ça marche mais ça doit pas être comme ça car je ne sais pas l'emplacement du dossier sur le serveur lors du deploiment
String path="http://localhost:8080/monProjet/img/";
// le path =le chemin du dossier ou vont etre stocké les images
//je pense qu'il doit etre relatif et non pas absolue,lors du déploiment on remplace localhost par l'Ip du serveur
String fileName = formFile.getFileName();
String contentType = formFile.getContentType();
File fileToCreate = new File(path, fileName);
try {
FileOutputStream fileOutStream = new FileOutputStream(fileToCreate);
fileOutStream.write(formFile.getFileData());
fileOutStream.flush();
fileOutStream.close();
forward="fichierEnvoye";
} catch (Exception e) {
e.printStackTrace();
}
// |
Merci infinement de m'aider
Partager