Получение двоичных данных из HTTP POST-запроса в ASP.NET C # - PullRequest
1 голос
/ 21 декабря 2009

Это должно быть очень тривиально, но по причине не могу найти это. Я публикую некоторые двоичные данные в форме в ASP.NET как multipart / form-data, и я вижу, что запрос получен, посмотрев на Request.InputStream:

------------------------------- 7cf2a327f01ae Content-Disposition: form-data; Name = "DeviceID1"

Некоторые двоичные данные

------------------------------- 7cf2a327f01ae Content-Disposition: form-data; Name = "DeviceID2"

Некоторые двоичные данные ...

Однако я не могу найти, как я могу получить каждую часть как часть коллекции Request.Form (или Request.Params). Что может быть не так? Обходной путь - использовать имя файла, а затем извлекать его из Request.Files, но мне интересно, как правильно получить содержимое. Спасибо.

Ответы [ 2 ]

1 голос
/ 21 декабря 2009

Request.Files - это единственный способ получить двоичные данные, отправленные на сервер.

0 голосов
/ 21 декабря 2009

Я обнаружил, что одной из проблем является разрыв строки и что запрос должен быть завершен с соответствующим разделителем, как этот:

-------------------------------7cf2a327f01ae
Content-Disposition: form-data; name="DeviceID1"

Some binary data

-------------------------------7cf2a327f01ae 
Content-Disposition: form-data; name="DeviceID2"

Some binary data
-------------------------------7cf2a327f01ae 

Теперь ключи появляются в Request.Form, однако эта коллекция имеет тип string, поэтому я решил использовать имя файла и затем получить из Request.Files. Или я мог бы полностью разобрать содержимое запроса вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...