2012-07-03 2 views
0
   var uri = URL_BASE + myuri 
          string.Format("providers/{0}/items?feed={1}&id={2}&type=cf", provider, feed, zipFileNoPath); 
       var webClient = new WebClient(); 
       webClient.Credentials = new NetworkCredential(email, password); 
       webClient.Headers.Add("Accept", "*/*"); 
       webClient.Headers.Add("Content-Type", "application/octet-stream"); 
       webClient.UploadFileAsync(new Uri(uri), "POST", zipFile); 

для приведенного выше кода, когда я смотрю в от скрипача, я увидел двух «Content-Type» в заголовке Один Content-Type: многочастному/форм-данных; border = --------------------- 8cf27396e080e0a, Другое - Content-Type: application/octet-stream Почему это так? который действует тогда, спасибодва «Content-Type» в WebClient заголовке

ответ

0

использование UploadData вместо UploadFile

  var webClient = new WebClient(); 
      webClient.Credentials = new NetworkCredential(email, password);          
      webClient.UploadDataCompleted += webClient_UploadDataCompleted; 
      byte[] fileBytes = File.ReadAllBytes(zipFile); 
      webClient.UploadDataAsync(new Uri(uri), "POST", fileBytes); 

Тогда я буду видеть только один Content-Type

0

Параметр «граница» добавляется, когда двоичные данные отправляются на сервер среди других значений. Это позволяет серверу распознавать границу данных - значение граничного параметра является случайным и выбирается таким образом, чтобы строка никогда не встречалась в опубликованных данных (и, следовательно, могла быть сервером как граница).

Я предполагаю, что webclient добавляет это автоматически, и если это так, вы можете прокомментировать нашу собственную строку, которая добавляет этот заголовок. К сожалению, я не знаю спецификации HTTP, чтобы указать, действительны ли повторяющиеся заголовки или нет.

+0

Я закомментировать Headers.add часть, по-прежнему не правильный, мой почтовый файл 514 байт, один раз получил сервер он становится 740 байт и говорит, что он недействителен – toosensitive

+0

Я считаю, что вы должны расширить вопрос, включив серверную часть своей инфраструктуры. –

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