[Java / JSP] upload d'un fichier

upload d'un fichier [Java / JSP] - Programmation

Marsh Posté le 21-11-2001 à 09:30:11    

Hello,
 
Je vous passe les détails du projet. La question est simple. J'ai une page JSP qui propose à un moment de faire Browse pour sélectionner un fichier (gif / jpeg).  
Une fois que le path a été remplis, un bouton submit DEVRAIT permettre au serveur de: uloader le fichier provenant du poste client (le client peut éventuellement spécifier une URL publique mais c pas le but premier).
 
Comment fait-on?
 
Y a surement du JS derrière et je suis nul alors please, some details!
 
Merci  :hello:


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 21-11-2001 à 09:30:11   

Reply

Marsh Posté le 26-11-2001 à 13:58:06    

en fait, ta jsp renvoie l'adresse du fichier (ou l'url) a une servlet (avec un formulaire).
Cette servlet va créer un File à partir de cette url en récupérant le nom avec un session.getParameter.
Apres, tu cree un nouveau fichier sur ton serveur (new File).
Tu ouvres un FileOutputStream sur le fichier sur le disque et un FileInputStream suivi d'un DataInputStream sur ton fichier dont tu a recu l'url.
Il te reste juste a créer un byte[] temporaire pour transferer les données du datainputstream au fileoutputstream de cette facon:
fichier est le fichier créé au début:
 
byte[] tab = new byte[(int)fichier.length()];
FileInputStream fi = new FileInputStream(fichier);
DataInputStream di = new DataInputStream(fi);
di.readFully(tab, 0, (int)fichier.length());
 
fo.write(tab);
 
voila, oublies pas de fermer les flux et ca doit etre bon.

Reply

Marsh Posté le 26-11-2001 à 15:56:56    

Erf007 a écrit a écrit :

en fait, ta jsp renvoie l'adresse du fichier (ou l'url) a une servlet (avec un formulaire).
Cette servlet va créer un File à partir de cette url en récupérant le nom avec un session.getParameter.
Apres, tu cree un nouveau fichier sur ton serveur (new File).
Tu ouvres un FileOutputStream sur le fichier sur le disque et un FileInputStream suivi d'un DataInputStream sur ton fichier dont tu a recu l'url.
Il te reste juste a créer un byte[] temporaire pour transferer les données du datainputstream au fileoutputstream de cette facon:
fichier est le fichier créé au début:
 
byte[] tab = new byte[(int)fichier.length()];
FileInputStream fi = new FileInputStream(fichier);
DataInputStream di = new DataInputStream(fi);
di.readFully(tab, 0, (int)fichier.length());
 
fo.write(tab);
 
voila, oublies pas de fermer les flux et ca doit etre bon.  




 
MERCHI ;-)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed