我正在尝试使用MultipartMemoryStreamProvider处理多部分请求,在这里我从外部获得了一系列字节的输入。我尝试使用标准MultipartMemoryStreamProvider在字节内容上调用“ ReadAsMultipartAsync”,但这始终导致以下异常:
“ IOException:MIME分段流的意外结束。MIME分段消息不完整。”
我还可以通过简单地创建一个具有以下内容的文本文件来重现该问题(每行都有换行符):
测试
123
0f30828a-e488-41c6-81da-da1c2f03d455
12
1
0f30828a-e488-41c6-81da-da1c2f03d455
如果现在运行以下代码:
string contentType = "multipart/form-data;boundary=\"0f30828a-e488-41c6-81da-da1c2f03d455\"";
byte[] payload = File.ReadAllBytes(@"C:\test.txt");
ByteArrayContent content = new ByteArrayContent(payload);
content.Headers.Add("Content-Type", contentType);
MultipartMemoryStreamProvider provider = content.ReadAsMultipartAsync(new MultipartMemoryStreamProvider()).Result;
上面显示内容的代码片段与文本文件结合始终导致相同的IOException。此外,如果删除文本文件中的边界,则会收到完全相同的错误。我觉得我在这里犯了一个概念上的错误,但是我无法指出确切的问题是什么。