CSharp - C# HttpContent边界双引号

  显示原文与译文双语对照的内容

我有这个代码示例,作为另一个问题的答案。 除了一个问题外,它工作正常。 它围绕着带有双引号的HTTP头中的边界:

多部分/表单数据;boundary="04982073-787d-414b-a0d2-8e8a1137e145"

我正在尝试呼叫的web服务中断了。 浏览器没有双引号。 我需要一些方法告诉. 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;


 }


}



时间: 原作者:

你可以使用下面的代码从边界中移除引号:


var boundary = formData.Headers.ContentType.Parameters.First(o => o.Name =="boundary"); 


boundary.Value = boundary.Value.Replace(""", String.Empty); 



...