gpt4 book ai didi

c# - HttpContent 边界双引号

转载 作者:太空狗 更新时间:2023-10-29 21:53:40 24 4
gpt4 key购买 nike

我有这个代码示例,它是作为对另一个问题 (Send a file via HTTP POST with C#) 的回答而发布的。除了一个问题外,它工作正常。它用双引号将 HTTP header 中的边界括起来:

多部分/表单数据; boundary="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;
}
}

最佳答案

您可以使用以下代码从边界中删除引号:

var boundary = formData.Headers.ContentType.Parameters.First(o => o.Name == "boundary"); 
boundary.Value = boundary.Value.Replace("\"", String.Empty);

关于c# - HttpContent 边界双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30926645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com