2017-02-14 3 views
0

У меня есть веб-сервиса, и я хочу, чтобы отправить значения этого параметра веб-службы & ключ как маркер = «» и файлкак послать параметр тела и файл с HTTPClient в C#

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

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

вроде как Почтальон: enter image description here

Я пишу этот код в C#, но веб-служба не может получить как токен, так и файл. но не работает. Где я ошибался? означает, что данные отправляются в службу web service.but, а не получают токен и файл.

 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

Не могли бы вы объяснить, какое исключение у вас есть? – kat1330

+0

при запуске моего кода и отправке на веб-службу service.web результат службы не разрешен! .means токен не отправляется в Webservice. – user2254798

+0

Можете ли вы отследить свой запрос и проверить, правильно ли добавлен токен в заголовок? – kat1330

ответ

0

Here является примером того, как использовать Multipart MIME.

Что касается того, почему вы не получаете токен на стороне сервера, я думаю, вам нужно рассматривать этот случай на стороне сервера. (Скажите, откуда взять маркер).

В зависимости от того, как работает ваша проверка подлинности, я рекомендую вам прочитать сообщение this, а также посмотреть, как идти в том месте, где вы положили свой токен.

+0

спасибо, но мой код в winform – user2254798

+0

Да, но вы все еще используете запросы. Те же правила применяются. – PopaPetru

Смежные вопросы