带有可选上传文件的HttpClient帖子表单

时间:2013-08-17 15:14:44

标签: c# asp.net .net httpclient dotnet-httpclient

我有一个网页表单,其中包含多个上传照片的选项(最多10个)。 ContentType设置为“multipart / form-data”。我知道如何只上传一个文件,但不知道如何为其他9个可选项创建HttpContent?使用适当的MultipartContent标题创建ContentDisposition没有运气。我得到了最好的结果:

Content-Disposition: form-data; name="bla bla bla";

或者,如果我将参数添加到ContentDisposition标题:

Content-Disposition: form-data; name="bla bla bla"; filename;

我需要发送带有空内容的帖子请求,用于可选的上传文件,如下所示:

Content-Disposition: form-data; name="bla bla bla"; filename=""

任何想法都赞赏。

1 个答案:

答案 0 :(得分:1)

好的,我不知道这是否是我问题的最佳解决方案,但至少它是有效的:
1.为HttpContent创建新类(来自HttpContent的子类) 2.初始化Content-Disposition标题 3.覆盖两个方法TryComputeLength(返回false)和SerializeToStreamAsync(只是序列化任务的存根)。

现在可以将此课程添加到MultipartFormDataContent http请求内容如下:

----------[boundary string]
Content-Disposition: form-data; name="formFieldName"; filename=""

----------[boundary string]