Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1780 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  ecrire fichier en utilisant http

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ecrire fichier en utilisant http

n°1875534
jenecompre​ndspas
Posté le 20-04-2009 à 19:44:26  profilanswer
 

Bonjour
 
Mon programme sous struts tourne sur unix et je souhaite ecrire un fichier sur une autre machine windows, pour cela je dois utiliser http
je ne peux pas utiliser fileupload car je n'ai pas de formulaire.
Pour cela je souhaite utiliser la classe URLConnection.
Je suppose que je dois créer en local mon fichier sur c:/temp puis le poster sur par ex //DirCible
 
Voici à quoi ressemble mon code sachant que c'est qu'une idée

Citation :


Source source = new DOMSource(devisToDocument(documentBuilder, numeroDevis, dateCreation, sForm, contexte));
        //Création du fichier XML à partir de l'arbre DOM
        String name_fic="c:/temp" + File.separator + "aa_" + numero + ".xml";
        FileOutputStream fileOutputStream = new FileOutputStream(name_fic);
        Result result = new StreamResult(fileOutputStream);
        transformer.transform(source, result);
        fileOutputStream.close();
         
     URL url = new URL("http://repCible/sous" );
     URLConnection connection = url.openConnection();
     connection.setDoOutput(true);
     connection.setDoInput(true);
     connection.setDoInput(true);
     connection.setUseCaches(false);
         // set some request headers
     connection.setRequestProperty("Connection", "Keep-Alive" );
     connection.setRequestProperty("Cache-Control", "no-cache" );
     connection.setRequestProperty("HTTP_REFERER",
                              "http://pluton/recette" );
     connection.setRequestProperty("Content-Type",
                              "multipart/form-data; charset=utf-8;boundary=****4353" );
     
     DataOutputStream dstream = new DataOutputStream(connection.getOutputStream());
      dstream.writeBytes("--****4353\r\n" );
         dstream.writeBytes("Content-Disposition: form-data; name=\"uploadedFile\"; filename=\"" +
           name_fic+ "\"\r\nContent-Type: application/octet-stream\r\n\r\n" );
      //write file content
        FileInputStream fi = new FileInputStream(name_fic);
        byte[] bt = new byte[102400];
        int cnt = fi.read(bt);
        int numOfByteSent = cnt;
        while (cnt == bt.length) {
            dstream.write(bt, 0, cnt);
            dstream.flush();
            cnt = fi.read(bt);
            numOfByteSent += cnt;
        }
        dstream.writeBytes("\r\n--****4353--\r\n\r\n" );
        dstream.flush();
        dstream.close();
        fi.close();
        // end write file content
         
        try {
            DataInputStream in =
                    new DataInputStream(connection.getInputStream());
            String sIn;
            while ((sIn = in.readLine()) != null) {
                if (sIn != null) {
                    System.out.println(sIn);
                }
                if (sIn.equals("upload success" )) {
                   
                }
            }
           
        } catch (Exception ex) {
            ex.printStackTrace();
        }


Citation :

Caused by: java.io.IOException: Server returned HTTP response code: 405 for URL: http://repCible/sous


 
J'ai plusieurs erreurs dont celle ci dessus , je ne vois pas bien connection entre output et input? et surtout
 je vois pas à quel moment il pourrai créer mon fichier sur //DirCible???
 
thanks

mood
Publicité
Posté le 20-04-2009 à 19:44:26  profilanswer
 

n°1875608
Ricco
Retour au pays
Posté le 20-04-2009 à 22:00:35  profilanswer
 

Pourquoi y'a des c : partout si le pc qui envoit tourne sous nunux ?
 
Le pc qui reçoit doit forcement accepter et gérer la réception des fichiers par post ... Ca tombe bien, le bout de code que t'as pompé utilise un envoi par post. T'es obligé d'adapter le pc qui reçoit.


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
n°1875707
jenecompre​ndspas
Posté le 21-04-2009 à 09:28:35  profilanswer
 

juste en fait les "c" c'était juste un exemple, un mauvais.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  ecrire fichier en utilisant http

 

Sujets relatifs
Lien pour enregistrer fichier et pas affichercodage d'un dictionnaire en utilisant les arbre
VBS ouvert par un fichier batchFichier *.bat pour télécharger sur un FTP
Ouvire et éditer un fichier .db3PageFlip + fichier XML :s
Recuperer ligne de fichier dans variables séparéesne conserver que la dernière ligne d' un fichier texte
Protéger l'accès à un fichier JS[C] Parser un fichier texte
Plus de sujets relatifs à : ecrire fichier en utilisant http


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR