Xamarin.forms 如何设置HttpClient的内容类型

Xamarin.forms 如何设置HttpClient的内容类型,xamarin.forms,Xamarin.forms,我正在上传一张图片 我想设置Content Type=“multipart/form data;boundary=----WebKitFormBoundaryFoxUxCRayQhs5eNN”的值 使用代码: HttpRequestMessage request=new HttpRequestMessage(); request.Content.Headers.ContentType="multipart/form-data; boundary=----WebKitFormBoundaryFox

我正在上传一张图片

我想设置Content Type=“multipart/form data;boundary=----WebKitFormBoundaryFoxUxCRayQhs5eNN”的值

使用代码:

HttpRequestMessage request=new HttpRequestMessage();
request.Content.Headers.ContentType="multipart/form-data; boundary=----WebKitFormBoundaryFoxUxCRayQhs5eNN";
request.Header.ContentType=“多部分/表单数据;边界=----WebKitFormBoundaryFoxUxCRayQhs5eNN”

这将导致一个错误:其中一个已标识的项的格式无效

如果仅设置“多部分/表单数据”,则可以,但无法上载文件


如何设置?

以下是您可以参考的一些代码片段:

使用(var-client=new-HttpClient())
使用(var fileStream=File.Open(fileName,FileMode.Open,FileAccess.Read)
使用(var streamContent=newstreamcontent(fileStream))
{
streamContent.Headers.ContentDisposition=新的ContentDispositionHeaderValue(“表单数据”);
streamContent.Headers.ContentDisposition.Name=“\”文件\”;
streamContent.Headers.ContentDisposition.FileName=“\”+文件名+“\”;
streamContent.Headers.ContentType=新的MediaTypeHeaderValue(“应用程序/八位字节流”);
字符串边界=“WebKitFormBoundaryFoxUxCRayQhs5eNN”;
var fContent=新的MultipartFormDataContent(边界);
fContent.Headers.Remove(“内容类型”);
fContent.Headers.tryadd未经验证(“内容类型”、“多部分/表单数据;边界=“+boundary”);
fContent.Add(streamContent);
var response=wait client.PostAsync(新Uri(url),fContent);
response.EnsureSuccessStatusCode();
}

如果您使用HttpWebRequest,您可以参考以下内容:

否,但当我在c#中使用HttpWebRequest发送图像时,它无法将图像上载到php api。不要处理HttpClient。HttpClient意味着可以重用。更多信息如下:@daotian服务器是否正确接收请求?此外,如果您使用HttpWebRequest,您可以可以参考上面的链接