Как загрузить несколько файлов с помощью веб-клиента UploadFile, UploadValues ​​в C #? - PullRequest
11 голосов
/ 01 июня 2010

Как загрузить несколько файлов с помощью веб-клиента UploadFile, UploadValues ​​в C #?

1 Ответ

16 голосов
/ 01 июня 2010

В этом блоге подробно описывается, как загрузить несколько файлов, используя WebClient .

Если вы хотите загрузить оба поля формы и файл в одном и том же POST, вы не можете использовать WebClient «как есть» - вместо этого его необходимо расширить. Вот выдержка из этой статьи , объясняющая, что нужно:

единственный вариант - создать кастом реализация, которая соответствует rfc1867 , rfc2388 и W3C multipart / form-data спецификация, которая включит загрузку файлов с дополнительные поля формы и экспонаты контроль файлов cookie и заголовков.

Вот три реализации, использующие немного разные подходы, но все должны работать, чтобы включить данные формы из нескольких частей:

WebClient.UploadValues ​​ не предназначен для загрузки файлов - вместо этого он используется для отправки POST-редактируемых значений формы на сервер. Вы хотите использовать WebClient.UploadFile для загрузки файлов или один из расширенных примеров выше.

...