Отправка данных POST в несколько частей (multipart / form-data) с помощью HttpWebRequest - PullRequest
0 голосов
/ 16 октября 2011

Я портирую загрузчик файлов на C # и хочу загрузить большие файлы на сайт.На веб-сайте есть API, который загружает файлы, полученные по запросу HTTP POST.

Однако, поскольку файлы будут достаточно большими, я не хочу хранить их содержимое в памяти.Поэтому я не могу отправить весь файл одним чанком.Я хочу, чтобы мой запрос отправлялся несколькими частями (т. Е. Инфраструктура .net должна вызывать send() несколько раз).

Вот пример того, как я хочу, чтобы моя программа отправляла файл.Я загружаю файл с именем example.txt с содержанием «Это пример».Я перехватил кучу вызовов функции send() и разместил буфер.http://pastie.org/2703455

В зарегистрированных запросах первый вызов send() отправил первоначальный запрос HTTP POST.Второй звонок отправил границы и некоторые данные о файле.Третий звонок отправил содержимое файла.Четвертый вызов снова отправил границу (чтобы показать, что загрузка была завершена).

Так как бы мне повторить это поведение?

...