c#post empty octet-stream

时间:2017-12-18 20:04:53

标签: c# multipartform-data dotnet-httpclient

使用网络表单我正在自动调用此表单。 假设它是一个包含2个字段的Web表单,允许文件上传。 手动执行帖子时此帖子的内容会将第二个文件发布为空。

Content-Disposition: form-data; name=\"txtFileName_2\"; filename=\"\"
Content-Type: application/octet-stream

没有数据。因此,如果我只需要上传单个文件,我需要提供该字段作为HttpClient内容的一部分,但还没有找到发布空octet-stream的方法。

我试过了:

content.Add(new StreamContent(Stream.Null), $"txtFileName_{i}", string.Empty);

content.Add(new StreamContent(new MemoryStream()), $"txtFileName_{i}", string.Empty);

抛出错误System.ArgumentException: The value cannot be null or empty.

搜索我没有看到任何关于发布multipart / form-data的空文件

的信息

1 个答案:

答案 0 :(得分:0)

COPY和PASTE错误 看着这个错误,我只是假设它正在向我大吼大叫Stream.Null NOPE,方法调用有2个重载,如果你为fileName第3个参数提供一个值,它预计它有一个值(足够公平)

content.Add(new StreamContent(Stream.Null), $"txtFileName_{i}", string.Empty);

似乎工作正常。