Recebendo dados binários da solicitação de postagem HTTP no ASP.NET C#
Pergunta
Isso deve ser muito trivial, mas para a razão não pode encontrá -lo. Estou postando alguns dados binários em um formulário no ASP.net como multipart/form-data e posso ver que a solicitação é recebida ao procurar solicitação.InputStream:
------------------------- name = "DeviceId1"
Alguns dados binários
------------------------- name = "DeviceId2"
Alguns dados binários ...
No entanto, não consigo encontrar como posso recuperar cada parte como parte da coleção Request.form (ou request.params). O que pode estar errado? Uma contorna é usar um nome de arquivo e recuperar do request.files, mas me pergunto qual é a maneira correta de obter o conteúdo. Obrigado.
Solução
Request.Files
é a única maneira de recuperar os dados binários publicados no servidor.
Outras dicas
Descobri que um problema era a quebra da linha e que a solicitação deveria ser encerrada com um separador adequado como este:
-------------------------------7cf2a327f01ae
Content-Disposition: form-data; name="DeviceID1"
Some binary data
-------------------------------7cf2a327f01ae
Content-Disposition: form-data; name="DeviceID2"
Some binary data
-------------------------------7cf2a327f01ae
Agora, as chaves aparecem no request.form, no entanto, esta coleção é da string do tipo, então eu decidi usar o nome do arquivo e depois obter do request.files. Ou eu poderia analisar todo o conteúdo da solicitação completamente manualmente.