OVH Cloud OVH Cloud

[JSP]Upload un fichier

3 réponses
Avatar
peipito
Bonjour,

Je suis en train de dvp une application web avec Netbeans, java Tiger
et les JSP.

Je cherche =E0 upload un fichier sur le serveur et utilise l'api
fileUpload.

Voici le code de ma jsp :

<form ENCTYPE=3D"multipart/form-data" action=3D"ADAjImageOeuve"
method=3Dpost>
<input type=3Dfile name=3D"nouvelleimage">
<input type=3Dsubmit value=3D"Envoyer l'image">
</form>

Et de ma Servlet ADAjImageOeuve :

DiskFileUpload fu =3D new DiskFileUpload();
// maximum size before a FileUploadException will be thrown
fu.setSizeMax(1000000);
// maximum size that will be stored in memory
fu.setSizeThreshold(4096);


// the location for saving data that is larger than
getSizeThreshold()
fu.setRepositoryPath("/tmp");

try{
List fileItems =3D fu.parseRequest(request);
Iterator i =3D fileItems.iterator();
// String comment =3D ((FileItem)i.next()).getString();
FileItem fi =3D (FileItem)i.next();
// filename on the client
String fileName =3D fi.getName();
// save comment and filename to database


// write the file

fi.write(new File("/www/uploads/" + fileName));
System.out.println("/www/uploads/" + fileName);
}
catch(FileUploadException fue){
fue.printStackTrace();

}
catch(Exception e){
e.printStackTrace();
}


C'est tout simplement le code donn=E9 dans la documentation.
L'erreur est la suivante :

org.apache.commons.fileupload.FileUploadException: Processing of
multipart/form-data request failed. \tmp\upload_00000000.tmp (Le chemin
d'acc=E8s sp=E9cifi=E9 est introuvable)
at
org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.ja=
va:429)


Tout ce passe au niveau de la m=E9thode parseRequest(HttpServletRequest
req);


Si quelqu'un a une id=E9e, ou =E0 eu le meme probleme toute solution est
la bienvenue

merci

3 réponses

Avatar
manu.r
C'est tout simplement le code donné dans la documentation.
L'erreur est la suivante :

org.apache.commons.fileupload.FileUploadException: Processing of
multipart/form-data request failed. tmpupload_00000000.tmp (Le chemin
d'accès spécifié est introuvable)
at
org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:429)


Au pif (je suis pas au boulot cette sem), as tu tente en forçant le
chemin complet de /tmp pr verifier ?
ou une histoire de droit en ecriture sur ce mm tmp ?
dsl, c'est tt ce que ça m'inspire ....

--
@+
manu

Avatar
peipito
Merci manu c'est déjà pas mal . Je vais explorer cette option
Avatar
peipito
Manu,

Tu avais raison, il faut bien penser à vérifier si les repertoire
existe ou a les creer si necessaire.

merci