IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

[HTTP] Envoi de fichiers par http post


Sujet :

Entrée/Sortie Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 7
    Points : 3
    Points
    3
    Par défaut [HTTP] Envoi de fichiers par http post
    Bonjour, je souhaiterais faire un post vers un serveur d'un fichier xml. Je ne sais pas à quel endroit il faut ajouter le fichier est-ce qu'il y a une fonction spéciale pour faire ça.

    voici le code que j'ai fait mais qui ne fonctionne pas. Dans ce code j'ajoute directement dans la requete le fichier que je veux poster.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    public String post(String monURL,String data,File file) {
    	  String response = "";
    	  try {
    		  //ouvrir une connexion
    	    	URL url = new URL(monURL) ;
    	    	URLConnection conn = url.openConnection();
    	    	conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
    	    	conn.setDoOutput(true);
    	    	OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
     
    		      //envoi des données dans la requête
     
    	    	wr.write(data);
     
                                  //   ouverture du flux de lecture pour le fichier
    		      FileInputStream fis = new FileInputStream(file);
    		      String readFile = "";
    		      try {
     
    //		       création d'un buffer de 4Ko ( améliore la vitesse de transmission)
    		    	  byte[] buf = new byte[4 * 1024]; 
    		    	  @SuppressWarnings("unused") int bytesRead;
    		    	  while ((bytesRead = fis.read(buf)) != -1) {
    		    		  String b = new String(buf);
    		    		  readFile+=b;
    		    	  }
    		      }finally{
    		      if (fis != null) fis.close();
     
    		      //envoi du fichier
    		      wr.write(readFile);
    		      }
     
    	    	wr.flush();
     
    	    	// reception de la réponse
    	    	BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    	    	String line;
     
    	    	while ((line = rd.readLine()) != null) {
    	    	            // Process line...
    	    		response+=line;
     
    	    	        }
    	    	wr.close();
    	    	rd.close();
    	    	System.out.println( response ) ;
     
     
     
    	    } catch (Exception e) {
    	      e.printStackTrace();
    	    }
    	    return response;
     
    	  }

  2. #2
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut

  3. #3
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Citation Envoyé par java_girl
    Je ne sais pas à quel endroit il faut ajouter le fichier est-ce qu'il y a une fonction spéciale pour faire ça.
    Mais qu'est ce que ça veut dire ça, quel est la problème ?

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    thibaut c'est quoi la balise [code] ? Je suis désolée je suis nouvelle ici

    En fait si tu connais la composition des requetes http POST, il y a l'entête et le corps de la requete et si tu veux envoyer un fichier, tu mets l'ensemble du fichier dans le corps de la requète.

    Donc ce que je voulais savoir c'est s'il ya une fonction qui permets de placer un texte dans le corps d'une requete http.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Pour ce qui est de la requête, je vois pas trop pour le moment (mais je ne suis pas le plus éclairé...)
    Pour les balises, quand tu tapes un morceau de code, encadre le entre les balises [ code ] et [ /code ], c'est le bouton # dans l'éditeur, et ca formate le texte comme ceci :

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 7
    Points : 3
    Points
    3
    Par défaut up!
    j'ai toujours le même problème est-ce quelqu'un sait comment envoyer un fichier xml vers un serveur en java par le protocole http???
    besoin d'aide SVP!!!!

  7. #7
    Membre habitué Avatar de manube
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2004
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Responsable sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 180
    Points : 178
    Points
    178
    Par défaut
    Salut,
    tout dépend la facon dont tu veux envoyer le fichier XML.
    Si c'est l'utilisateur qui va uploader un fichier à partir de son pc vers ton appli, alors tu dois créer un formulaire te permettant de selectionner ce fichier (http://www.htmlcodetutorial.com/form...TYPE_FILE.html) puis tu récupères le resultat dans ta servlet. Pour cela je te conseille d'utiliser l'API http://jakarta.apache.org/commons/fileupload/

    Sinon tu peux aussi uploader d'une applet vers une servlet : ici

    Si tu veux qquechose d'autre explique nous ton contexte d'utilisation.

    ++

    Manu

Discussions similaires

  1. [Web Service][HttpRequest] Envoie de fichier par requête POST
    Par cjean dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 20/12/2016, 15h26
  2. Envoi de fichier par HTTP
    Par siro1 dans le forum Langage
    Réponses: 19
    Dernier message: 29/03/2012, 14h44
  3. Réponses: 2
    Dernier message: 07/02/2008, 10h28
  4. Téléchargement de fichiers par HTTP / FTP
    Par Gladiator dans le forum Serveurs (Apache, IIS,...)
    Réponses: 2
    Dernier message: 07/12/2005, 11h28
  5. [HTTP] Envoi de fichiers par http
    Par Delendial dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 03/09/2004, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo