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

C# Discussion :

Envoi de fichier WebRequest


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2014
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 322
    Points : 124
    Points
    124
    Par défaut Envoi de fichier WebRequest
    Bonjour,

    Je n'arrive pas a envoyé de fichier avec la classe WebRequest.
    Je reçois toujours un code HTTP 400 Demande incorrect.

    Et je ne comprends pas pourquoi.

    Voici le code :
    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
     
    string boundary = String.Format("----------{0:N}", Guid.NewGuid());
                byte[] boundarybytes = Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");
     
                string urlParams = "?token=" + HttpUtility.UrlEncode(token);
                urlParams += "&folder_idi=" + folder_idi;
     
                /// exécute la requête http/ exécute la requête http
                WebRequest wb = WebRequest.Create("http://*************/gedweb/upload_documents_for_folder_idi" + urlParams);
                wb.Method = "POST";
                wb.ContentType = "multipart/form-data; boundary=" + boundary;
     
                Stream dataStream = wb.GetRequestStream();
     
                dataStream.Write(boundarybytes, 0, boundarybytes.Length);
                byte[] formitembytes = Encoding.UTF8.GetBytes("test.txt");
                dataStream.Write(formitembytes, 0, formitembytes.Length);
     
                dataStream.Write(boundarybytes, 0, boundarybytes.Length);
     
                string headerTemplate = "Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\nContent-Type: {2}\r\n\r\n";
                string header = string.Format(headerTemplate, "file", "test.txt", "text/plain");
                byte[] headerbytes = Encoding.UTF8.GetBytes(header);
                dataStream.Write(headerbytes, 0, headerbytes.Length);
     
                FileStream fileStream = new FileStream("test.txt", FileMode.Open, FileAccess.Read);
                byte[] buffer = new byte[4096];
                int bytesRead = 0;
                while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)
                {
                    dataStream.Write(buffer, 0, bytesRead);
                }
                fileStream.Close();
     
                byte[] trailer = Encoding.ASCII.GetBytes("\r\n--" + boundary + "--\r\n");
                dataStream.Write(trailer, 0, trailer.Length);
                dataStream.Close();
     
                HttpWebResponse response = (HttpWebResponse)wb.GetResponse();

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2014
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 322
    Points : 124
    Points
    124
    Par défaut
    Bonjour,

    le problème vient de l'envoie du fichier, si je commente le code pour l'envoie du fichier, je reçois bien un réponse m'indiquant qu'il manque le fichier.

Discussions similaires

  1. [debutant] envoi de fichier
    Par djchow dans le forum MFC
    Réponses: 8
    Dernier message: 21/03/2005, 16h57
  2. [HTTP] Envoi de fichiers par http
    Par Delendial dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 03/09/2004, 09h37
  3. [Débutant] Envoi de fichier par socket
    Par zapho dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 26/05/2004, 18h58
  4. [C#] Envoi de fichier xml
    Par minnieBis dans le forum ASP.NET
    Réponses: 16
    Dernier message: 25/05/2004, 14h28
  5. [Socket]envoie de fichier!!!
    Par SamDaKap dans le forum C++Builder
    Réponses: 5
    Dernier message: 20/11/2002, 08h07

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