Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : pb d'upload d'un fichier client=>serveur [ Divers / Général ] (hluder)

vendredi 2 mai 2008 à 11:54:14 | pb d'upload d'un fichier client=>serveur

hluder

Bonjour!!!
Alors voilà mon nouveau probleme!
Mon client m'envoi un fichier, je le récupère et je le copie sur mon serveur
TOut pourait bien aller sauf que... le fichier sur mon serveur est vide

voilà mon code:

File file = new File(uri);//fichier qu ej'ai récupéré du client
File file3=new File(fichier); // je crée un fichier sur le serveur

FileOutputStream file2=new FileOutputStream(file3);
byte[] tab = new byte[(int)file.length()];
FileInputStream fi = new FileInputStream(file);
DataInputStream di = new DataInputStream(fi);
di.readFully(tab, 0, (int)file.length());
file2.write(tab);
 
//je close tout
file2.close();
fi.close();
di.close();

//utilisation de mon file
int res=MailClient.envoyerMail(dest,objet,message,file3);

aucune erreur n'est générée dans mon try-catch

Merci
------------------------
Nivraë - just her

vendredi 2 mai 2008 à 13:00:05 | Re : pb d'upload d'un fichier client=>serveur

shaiulud

re bonjour,
je te suis depuis ton dernier post,

je te conseille d'utiliser l'API FileUpload d'apache.

vendredi 2 mai 2008 à 14:00:02 | Re : pb d'upload d'un fichier client=>serveur

hluder

Je ne connais pas cet api ...
Elle sert à quoi ?
et tu l'utilise comment?

(merci de tes réponses)

Nivraë - just her

dimanche 4 mai 2008 à 12:58:05 | Re : pb d'upload d'un fichier client=>serveur

shaiulud

ette API est dispo ici : http://commons.apache.org/fileupload/
Elle permet de récupérer des fichiers envoyées depuis une page web avec la balise input type=file

la doc est ici : http://commons.apache.org/fileupload/using.html

et les points inportant sont :
 - le formulaire en HTML
<form action="upload.do" method="POST"  enctype="multipart/form-data">
   <imput type="file" name="monFichier">


 - le code java
// Create a factory for disk-based file items
DiskFileItemFactory factory = new DiskFileItemFactory();

// Set factory constraints
factory.setSizeThreshold(yourMaxMemorySize);
factory.setRepository(yourTempDirectory);

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

// Set overall request size constraint
upload.setSizeMax(yourMaxRequestSize);

// Parse the request
List /* FileItem */ items = upload.parseRequest(request);// request est une instance de HttpServletRequest (diponible depuis le doGet ou le doPost de la servlet)

// .... traitement de contolez cf. doc

// Ecriture du fichier sur le serveur
File uploadedFile = new File(...);
item.write(uploadedFile);


lundi 5 mai 2008 à 09:37:44 | Re : pb d'upload d'un fichier client=>serveur

hluder

Oula euh je me sens un peu a la ramasse

une API sa consiste en quoi? Est ce qu'il y a quelque chose a installer (source-binaire c'est quoi tout ça??)?

Je n'ai jamais utilisé d'API...

action="upload.do"  ?? pourquoi "upload.do" et pas ma servlet?



Nivraë - just her

lundi 5 mai 2008 à 09:44:49 | Re : pb d'upload d'un fichier client=>serveur

hluder

Et aussi dans le code que tu m'a mis après, où est ce que tu récupère la valeur du "include type="file" name="monfichier" ??

Nivraë - just her

lundi 5 mai 2008 à 13:20:55 | Re : pb d'upload d'un fichier client=>serveur

shaiulud

pour l'FileUpload, tu télécharge le jar sur lr site d'appache e tu le rajoute à ton class path (les lib de ton projet).

action="upload.do"   est en struts, ça peut être ta servlet => action="maServlet"

c'est en iterant ici :
List /* FileItem */ items = upload.parseRequest(request);

je te conseille de lire la documentation sur le site apache, et si je me rapelle bien il y a des exemples (sample in english).


lundi 5 mai 2008 à 13:53:25 | Re : pb d'upload d'un fichier client=>serveur

hluder

Lut je m'enterre tellement sa m'enerve

Alors j'ai lu sur le net que je devais mettre a part mon upload de fichier (lui fair eun <form> rien qu'à lui

Mais le pb est : oui mais comment je fais pour valider les autre champs alors??
enfin bon je vais essayer de tester des tones de chose, en meme temps j'ai que ça comme solution.

Inventerons t'il un jour la doc en français....


Merci à toi

Nivraë - just her

lundi 5 mai 2008 à 15:07:22 | Re : pb d'upload d'un fichier client=>serveur

hluder

Bon jai un peu avancé mais j'ai uen erreur :
java.lang.NoSuchMethodError: org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(Lorg/apache/commons/fileupload/RequestContext;)Ljava/util/List;

elle vient à cause de :

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

Nivraë - just her

mardi 6 mai 2008 à 10:19:16 | Re : pb d'upload d'un fichier client=>serveur

hluder

Réponse acceptée !
Sa y est ça marche j'ai modifié le code en prenant un DiskFileUpload
Tout marche niquel!!


DiskFileUpload fu = 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" );

             List fileItems = fu.parseRequest(request);
           
             Iterator i = fileItems.iterator();
             FileItem fi = (FileItem)i.next();
             // filename on the client
             String fileName = fi.getName();
             // save comment and filename to database
             System.out.println( "Description du fichier : "+fileName );
             // write the file
             File uploadfile=new File(fileName);
             fi.write(uploadfile);

voilà Merci encore de m'avoir guidé!

----------------------------

Nivraë - just her


1 2

Cette discussion est classé dans : fichier, file, serveur, client, close


Répondre à ce message

Sujets en rapport avec ce message

client/serveur [ par ompic ] bonjours!je veux envoyer un fichier (txt , xml ,..) à partir d'un poste serveur vers un poste client . ou bien créer directement le fichier (on utilsa transfert fichier : bout manquant [ par omega2 ] Bonjour tout le monde.je suis entrein de me faire un mini serveur de fichier et je bloque sur le transfert d'un dit fichier.Pour voir si j'arrivais a Transfert de fichier via une appli web entre un client et le serveur d'application [ par acoue ] Bonjour à tous, comme indiqué dans le titre,je dois faire un upload entre le disque dur du client et le serveur. Mon idée avait été la suivante : d JFileChooser [ par Skyffer3 ] Bonjour a tous, je voudrais savoir comment transmettre un jfilechooser d'un serveur a un client.Je vous explike, j'aimerais que le client puisse chois fichier bat [ par abdouinfomiage ] slt les amis j ai réalisé un miniprojet rmi un serveur qui gére une basse de données et un client qui emet des requetes mon pb j sais pas coment réali éxécution de client serveur [ par infoRam ] salut tout le mondej'ai un probleme dans un programme client serveur aprés l'exécution j'arrive pas au resulta souhaiterregarder la sourceServeur :::: Serveur de téléchargement [ par krimou21000 ] Salut à tous..voila je suis étudient en informatique,et je suis encore débutant en java,et notre prof nous a donné comme projet de fin d'année la réal copie d'un fichier image du post client vers le serveur [ par japouni ] Bonjour ,je veux copier un fichier image du poste client vers post serveur.J'ai trouvé la solution suivantehttp://www. Aide débutant ! [ par zut69 ] Bonjour,J'ai réussi à intégrer dans mon applet le code qui suit. Cependant, est-ce que quelqu'un pourrait m'eclaircir sur la façon dont il fonctionne? J2EE tres urgent [ par nabil78 ] Bonjour,j ais une application qui implemente l architecture client /serveur , je veu que chaque client renvoi un rapport surforme de fichier text au s


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.