upload des images vers le serveur
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 :
Code:
String path="C:/monProjet/img
par
Code:
String path="http://localhost:8080/monProjet/img"
Mais il m'affiche chemin introuvable.
j'ai essayé aussi
Code:
String path="//localhost:8080/monProjet/img"
voila mon code:
dans la .jsp:
Code:
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
Code:
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
Code:
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