2017-02-14 1 views
0

J'ai service web et je veux envoyer à cette valeur de paramètre de service Web & clé comme jeton = « » et le fichiercomment envoyer paramètre corps et fichier avec httpclient en C#

client - >>>>>>>>>>>send>>>>>>>>>web service 
token = "exmple" 
userfile = sound file 

web service (get both) >>>>>>>>send>>>>>> client 
result as Json 

comme comme Postman: J'écris ce code en C# mais le service web ne peut pas obtenir à la fois le jeton et le fichier. mais ne fonctionnait pas.Lorsque j'ai eu tort, cela signifie que les données sont envoyées au service Web. Mais le service ne reçoit pas le jeton et le fichier.

 byte[] array; 
     string filename; 
     if (openFileDialog1.ShowDialog() == DialogResult.OK) 
     { 
      var client = new HttpClient(); 
      var requestContent = new MultipartFormDataContent(); 
      filename = openFileDialog1.FileName; 
      array = File.ReadAllBytes(filename); 
      var imageContent = new ByteArrayContent(array); 
      imageContent.Headers.ContentType = MediaTypeHeaderValue.Parse("audio/*"); 
      requestContent.Add(imageContent, "audio", "audio.wav"); 
      var values = new Dictionary<string, string> 
      { 
      { "token", "111fhgbbrvjndskbsd" }, 
      }; 
      var content = new FormUrlEncodedContent(values); 
      requestContent.Add(content); 
      var response = await client.PostAsync("example.com/upload", requestContent); 
      var responseString = await response.Content.ReadAsStringAsync(); 
      txtbox.Text = responseString.ToString(); 
     } 
+0

Pouvez-vous expliquer quelle exception vous avez? – kat1330

+0

lors de l'exécution de mon code et envoyer au service web.web résultat de service n'est pas autorisé!. Means jeton pas envoyer à Webservice. – user2254798

+0

Pouvez-vous suivre votre demande et vérifier si le jeton est correctement ajouté à l'en-tête? – kat1330

Répondre

0

Here est un exemple d'utilisation de Multipart MIME. Pour savoir pourquoi vous ne recevez pas le jeton côté serveur, je pense que vous devez traiter ce cas du côté du serveur. (Dites-lui d'où vient le jeton). Selon le fonctionnement de votre authentification, je vous recommande de lire le message this pour savoir quel est le chemin à suivre concernant l'endroit où vous placez votre jeton.

+0

merci mais mon code en winform – user2254798

+0

Oui, mais vous utilisez toujours des demandes. Les mêmes règles s'appliquent. – PopaPetru