【发布时间】:2015-09-04 18:11:37
【问题描述】:
我有这个代码示例,它是作为另一个问题 (Send a file via HTTP POST with C#) 的答案发布的。它工作正常,除了一个问题。它用双引号将 HTTP 标头中的边界包围起来:
多部分/表单数据;边界="04982073-787d-414b-a0d2-8e8a1137e145"
这使我试图调用的网络服务窒息。浏览器没有那些双引号。我需要一些方法来告诉 .NET 将它们关闭。
private System.IO.Stream Upload(string actionUrl, string paramString, Stream paramFileStream, byte [] paramFileBytes)
{
HttpContent stringContent = new StringContent(paramString);
HttpContent fileStreamContent = new StreamContent(paramFileStream);
HttpContent bytesContent = new ByteArrayContent(paramFileBytes);
using (var client = new HttpClient())
using (var formData = new MultipartFormDataContent())
{
formData.Add(stringContent, "param1", "param1");
formData.Add(fileStreamContent, "file1", "file1");
formData.Add(bytesContent, "file2", "file2");
var response = client.PostAsync(actionUrl, formData).Result;
if (!response.IsSuccessStatusCode)
{
return null;
}
return response.Content.ReadAsStreamAsync().Result;
}
}
【问题讨论】:
标签: c# boundary httpcontent