【发布时间】:2021-08-22 06:54:42
【问题描述】:
网络核心应用程序。我有一个 REST API,它会将文件发送到另一个 API。
以下是第一个 API 内部将文件发送到第二个 API 的逻辑。
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", await _tokenService.GetToken());
MultipartFormDataContent multipartFormData = new MultipartFormDataContent();
string contentJson = JsonConvert.SerializeObject(request);
HttpContent data = new StringContent(contentJson, Encoding.UTF8, "application/json");
multipartFormData.Add(data, "data");
foreach (var file in fileList)
{
if (file.Length <= 0)
continue;
var fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');
multipartFormData.Add(new StreamContent(file.OpenReadStream())
{
Headers =
{
ContentLength = file.Length,
ContentType = new MediaTypeHeaderValue(file.ContentType)
}
}, "File", fileName);
}
try
{
var response = await client.PostAsync("https://localhost:44370/apisendfile", multipartFormData);
}
catch (Exception ex)
{
}
}
我有如下第二个 API
public async Task<ActionResult> SendMail([FromBody] MultipartFormDataContent formDataContent)
{
}
当我在我的第一个 API 中调试时收到错误
不支持的媒体类型
我一直在尝试解决这个问题,但未能成功。有人可以帮我确定这个问题。任何帮助,将不胜感激。谢谢
【问题讨论】:
-
分享您的完整控制器代码。
-
嗨,Md Farid Uddin。我在上面分享了第一个 api 代码,在第二个 api 中保存文件,但我的问题是第一次尝试调用第二个 api 并且由于媒体类型不受支持而失败。
-
我不确定您在
Posting Multipart或接收Multipart数据时遇到问题?您可以阅读我们的offical document here -
嗨 HD Farid Uddin,我在接收 multipat 时遇到问题
-
好的,你可以试试我提供的解决方案。如果您对此有进一步的担忧,请随时分享。
标签: c# asp.net-core file-upload httpclient iformfile