gpt4 book ai didi

asp.net-mvc - 使用 HttpClient 发送 MultipartFormDataContent 时设置 ContentType header

转载 作者:行者123 更新时间:2023-12-02 08:45:59 27 4
gpt4 key购买 nike

我正在使用 HttpClient 使用以下代码将文件上传到 WebAPI 资源。由于我使用的是 MultipartFormDataContent,因此请求消息内容类型设置为 multipart/form-data。在 WebAPI 中,我检查内容 header 以仅允许文本/纯媒体类型。那么,如果我将 HttpClient 与 MultipartFormDataContent 结合使用,我应该在哪里设置文件类型的内容 header 。

try
{
var content = new MultipartFormDataContent();

string filePath = Server.MapPath("~/Content/" + "demo.txt");

var filestream = new FileStream(filePath, FileMode.Open);

var fileName = System.IO.Path.GetFileName(filePath);

content.Add(new StreamContent(filestream), "file", fileName);

var requestMessage = new HttpRequestMessage()
{
Method = HttpMethod.Post,
Content = content,
RequestUri = new Uri("http://localhost:64289/api/uploads/"),
};

var client = new HttpClient();

client.DefaultRequestHeaders.Add("Accept", "application/json");

HttpResponseMessage response = await client.SendAsync(requestMessage);

if (response.IsSuccessStatusCode)
{
///
}
}
catch (Exception e)
{
throw;
}

最佳答案

您可以使用 StreamContent 对象的 Headers 属性来设置 ContentType 属性,例如,在我的例子中,我上传图像并使用以下代码:

        StreamContent image = new StreamContent(fileStream);
image.Headers.ContentType = new MediaTypeHeaderValue(MimeMapping.GetMimeMapping(imagePath));

关于asp.net-mvc - 使用 HttpClient 发送 MultipartFormDataContent 时设置 ContentType header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26538169/

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