UPLOAD FICHIER AVEC JSP

2bhq Messages postés 10 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 12 juin 2008 - 13 févr. 2008 à 16:14
 sara - 2 mars 2015 à 17:29
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/45663-upload-fichier-avec-jsp

thank!!!
Ca marche correctement. Mais pouvez m'aidez si je voulais utiliser un chemin relatif pour le répertoire d'accès des fichiers ???????
cs_syrinemz Messages postés 26 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 24 septembre 2016
3 avril 2012 à 18:39
Bonjour,
Bravoooooooo j'ai telecharger le zip et il fonctionne bien.merciiiiiiiiiiiiii :)
mais maintenant je cherche comment afficher le résultat de l'upload des 3 fichiers dans un tableau et comment les internautes peuvent les téléchargers ensuite à partir de ma page web.

Pouvez Vous M'aidezzzzzzz svpppppppppppppppppppp
merciiiiiiiiiiiiiiiiiiiii
sara > cs_syrinemz Messages postés 26 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 24 septembre 2016
2 mars 2015 à 17:29
Moi aussi je veux charger et manipuler un fichier excel, dans ma page web
hhrihab Messages postés 1 Date d'inscription mercredi 20 avril 2011 Statut Membre Dernière intervention 21 avril 2011
21 avril 2011 à 00:15
BONSOIR TOUT LE MONDE
J AI EXECUTE LE CODE MAIS J ARRIVE PAS A SAVOIR SI CA MARCHE OU PAS.
PAS D ERREUR MAIS UN LIGNE QUI APPARIT.
S IL VOUS PLAIS C URGENT.
MERCI
Tenshikris Messages postés 11 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 17 février 2012 1
15 nov. 2009 à 19:32
C'est à l'instanciation du fichier qu'on spécifie le chemin.

File savedFile = new File("C:\\tmp\", fullFile.getName());
item.write(savedFile);
gibbers Messages postés 3 Date d'inscription dimanche 18 octobre 2009 Statut Membre Dernière intervention 9 février 2012
15 nov. 2009 à 19:13
Je souhaite savoir où mettre le chemin dans lequel nous voulons que le fichier soit stocké .
bruserle Messages postés 3 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 4 septembre 2009
4 sept. 2009 à 23:25
Merci Jun

J'ai changé de machine pour mes tests. C'est un problème matériel sur mon portable qui en est la cause. Même sur un serveur distant, à partir de mon PC ça prend un temps fou alors que sur d'autres postes ça ne pose aucun problème.

Désolé pour ce faux problème donc...
bruserle Messages postés 3 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 4 septembre 2009
4 sept. 2009 à 23:24
Merci Jun

J'ai changé de machine pour mes tests. C'est un problème matériel sur mon portable qui en est la cause. Même sur un serveur distant, à partir de mon PC ça prend un temps fou alors que sur d'autres postes ça ne pose aucun problème.

Désolé pour ce faux problème donc...
cs_Jun Messages postés 11 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 2 septembre 2009
2 sept. 2009 à 20:48
Bonjour BRUSERLE,
Moi j'ai essayé avec un fichier de 11 977 Ko et ça a marché.
(Tomcat 6.0.18 + IE 7)
bruserle Messages postés 3 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 4 septembre 2009
24 août 2009 à 09:46
Bonjour

J'ai un soucis important avec mon uploader de fichier (testé sous tomcat et glassfish, IE et firefox).

Pour uploader 2 fichiers de quelques ko (environ 30ko), il met plus de 3 minutes (précisément c'est dans la méthode upload.parseRequest(request)).

J'ai déjà tenter en vain quelques possibilités trouvés sur le web avec les méthodes
factory.setSizeThreshold ou upload.setSizeMax mais rien n'y fait.

Quelqu'un a-t-il une idée d'où peut provenir cette anomalie?

Merci
adamo901 Messages postés 139 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 8 décembre 2008
30 nov. 2008 à 00:48
Bravo kokokaoutar, je note 10/10.

J'ai aussi testé votre code sur GLASSFISH et ça marche à merveille (il faut seulement supprimer org.apache.tomcat.util.http.fileupload.FileUpload dans la partie import)Encore un fois BRAVO!!
darko666 Messages postés 3 Date d'inscription mardi 8 novembre 2005 Statut Membre Dernière intervention 20 juin 2008
17 juin 2008 à 11:11
Bonjour tous le monde,
voilà le code marche a merveille apart un simple problme, qd je upload un fichier il le met dans le dossier eclipse si je ne spécifie pas la racine dans le chemin de writ, si no il le met dans c:/NomDossierToUploadTo. mes moi je veux qu'il le met dans mon dossier web ou le jsp ou ma servelt se trouve qlq1 plz m'aide..
2bhq Messages postés 10 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 12 juin 2008
12 juin 2008 à 14:18
Tu mets les librairies ou tu veux, il suffit de le préciser à Eclipse.

Ou j'ai mal compris la question ...
imarosa Messages postés 1 Date d'inscription mardi 19 décembre 2006 Statut Membre Dernière intervention 12 juin 2008
12 juin 2008 à 11:49
Bonjour
il y a un pb avec les librairies il ne les voit pas
alors ou je dois les mettre
merci de me répondre
c trés urgenttttttttttt
siGo53 Messages postés 4 Date d'inscription jeudi 6 mars 2008 Statut Membre Dernière intervention 25 mars 2008
25 mars 2008 à 10:29
Je change bien ce répertoire mais impossible d'écrire sur le serveur.

= new File("..\\images\", fullFile.getName()); ?????????

De toute façon je dois rendre mon projet aujourd'hui donc si tu n'as pas de réponse pas grave merci qd mm !
Tenshikris Messages postés 11 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 17 février 2012 1
25 mars 2008 à 09:58
Le répertoire de destination se trouve dans page4.jsp => File savedFile = new File("C:\\tmp\", fullFile.getName());
Quel erreur s'affiche pour que ca ne fonctionne pas ? ^^
siGo53 Messages postés 4 Date d'inscription jeudi 6 mars 2008 Statut Membre Dernière intervention 25 mars 2008
21 mars 2008 à 13:59
Comment puis-je changer le répertoire de destination du fichier pour qu'il arrive dans un dossier image sur le serveur ?? il me met tout le temps la même erreur !!!

Merci
siGo53 Messages postés 4 Date d'inscription jeudi 6 mars 2008 Statut Membre Dernière intervention 25 mars 2008
7 mars 2008 à 23:56
Ok merci pour la réponse rapide je vais tester.
Effectivement j'ai sans doute mal placé mes librairies.

Je vais noter ;) Merci encore
Tenshikris Messages postés 11 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 17 février 2012 1
7 mars 2008 à 17:30
Salut siGo53,
En fait, l'erreur provien du fait qu'il ne trouve pas les librairies "commons-fileupload-1.2.jar" et "commons-io-1.4.jar" (permettant le transfert du fichier). Il faut les mettre dans ton répertoire WEB-INF/lib de ton site. Si cela ne résoud pas ton problème, met les librairies dans le répertoire lib qui se situe à la racine de tomcat. ^^ N'oublie pas de redémarer ton serveur pour que les librairies soient prises en comptes :)
siGo53 Messages postés 4 Date d'inscription jeudi 6 mars 2008 Statut Membre Dernière intervention 25 mars 2008
6 mars 2008 à 17:38
Salut!
Jessaie d'utiliser ton code, mais j'ai visiblement quelques erreurs que je n'arrive pas corriger étant donné que Eclipse ne me signale aucune erreur.

org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP:

Une erreur s'est produite à la ligne: 22 dans le fichier jsp: /page4.jsp
ServletFileUpload cannot be resolved
19: %>
20: <%
21: // Check that we have a file upload request
22: boolean isMultipart = ServletFileUpload.isMultipartContent(request);
23: // Create a factory for disk-based file items
24: DiskFileItemFactory factory = new DiskFileItemFactory();
25:

Une erreur s'est produite à la ligne: 24 dans le fichier jsp: /page4.jsp
DiskFileItemFactory cannot be resolved to a type
21: // Check that we have a file upload request
22: boolean isMultipart = ServletFileUpload.isMultipartContent(request);
23: // Create a factory for disk-based file items
24: DiskFileItemFactory factory = new DiskFileItemFactory();
25:
26: // Create a new file upload handler
27: ServletFileUpload upload = new ServletFileUpload(factory);

Une erreur s'est produite à la ligne: 24 dans le fichier jsp: /page4.jsp
DiskFileItemFactory cannot be resolved to a type
21: // Check that we have a file upload request
22: boolean isMultipart = ServletFileUpload.isMultipartContent(request);
23: // Create a factory for disk-based file items
24: DiskFileItemFactory factory = new DiskFileItemFactory();
25:
26: // Create a new file upload handler
27: ServletFileUpload upload = new ServletFileUpload(factory);

Cela fait des heures que je cherche ! Mais je ne trouve vraiment pas ! Help !
2bhq Messages postés 10 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 12 juin 2008
4 mars 2008 à 11:34
Voilà, un retour donc sur tout ceci. Avec les indications de Tenshikris j'ai réussi à faire fonctionner le code.

J'utilise tout de même UploadBean car c'est très complet et très pratique. Le multi-upload par exemple est super.
2bhq Messages postés 10 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 12 juin 2008
20 févr. 2008 à 08:30
Ok merci je vais essayer ça. Sinon si ça intéresse quelqu'un il y a uploadBean sur le net, et ça fonctionne très bien, c'est ré-utilisable à volonté.
skargogo Messages postés 1 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 19 février 2008
19 févr. 2008 à 14:08
Bonjour, le code fonctionne mais je note encore quelques bugs:
-On est obligé d'ajouter les deux fichiers à la fois.
-Si le nom de l'image comporte un accent, le nom de sortie est altéré! (changer UTF8 par Iso-8859-1 dans les deux JSP ne résoud pas le problème, je pense que c'est parceque je travaille sous Windows2000)

Sinon pour les problèmes de répertoires on peut ajouter la ligne suivante:
new File("C:\\tmp\").mkdir();
au-dessus de:
File savedFile = new File("C:\\tmp\", fullFile.getName());
Tenshikris Messages postés 11 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 17 février 2012 1
19 févr. 2008 à 10:57
oups !! J'avais oublier de mettre une note...
Tenshikris Messages postés 11 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 17 février 2012 1
19 févr. 2008 à 10:32
Bonjour,
bon code :)
Il faut d'abord crée le répertoire "tmp" dans la racine de C: et ensuite j'ai fais quelques modifications sur le code ^^. essaye avec ça :
_________________________________________________________
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>

<%@ page
import="org.apache.commons.fileupload.DiskFileUpload.*"
import="org.apache.tomcat.util.http.fileupload.*"
import="org.apache.commons.fileupload.DiskFileUpload.*"
import="java.util.List,org.apache.commons.fileupload.disk.*"
import="org.apache.commons.fileupload.servlet.*"
import="java.util.*"
import="java.io.*"
%>
<%
// Check that we have a file upload request
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
// Create a factory for disk-based file items
DiskFileItemFactory factory = new DiskFileItemFactory();

// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);

// Parse the request
List /* FileItem */ items = upload.parseRequest(request);

// Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext()) {
DiskFileItem item = (DiskFileItem)iter.next();
if (item.isFormField()) {
String fieldName = item.getFieldName();
if(fieldName.equals("name")) request.setAttribute("msg", "Thank You: " + item.getString());
} else {
File fullFile = new File(item.getName());
String nom=fullFile.getName();
File savedFile = new File("C:\\tmp\", fullFile.getName());
item.write(savedFile);
}
}
%>

</html>
_________________________________________________________
Attention aux importations sinon ;)
2bhq Messages postés 10 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 12 juin 2008
13 févr. 2008 à 16:14
Merci pour ce code mais j'aurais quelques question.

Qu'est censée faire la page4.jsp car elle me retourne des erreurs. J'ai mis les pages jsp et les .jar dans le même répertoire, index.jsp s'exécute mais ensuite erreur.
J'ai lu la doc fournie :
http://commons.apache.org/fileupload/using.html

http://forum.java.sun.com/thread.jspa?threadID=5222785&messageID=9905328

http://www.developershome.com/wap/wapUpload/wap_upload.asp?page=jsp

Et j'avoue que j'ai un peu de mal à tout comprendre. Peux-tu m'éclairer un peu. Je mettrai la note quand j'aurai réussi à faire fonctionner tout ça lol :)

En tous cas merci
Rejoignez-nous