Asp.net 核心网站 API 6 不接收 IFormFile
Asp.net core web API 6 Doesn't receive IFormFile
我的客户成功发送了文件,但我的 API 没有收到文件
这是我的客户端代码
protected async Task Send(string url, HttpMethod method, IFormFile file )
{
var accessToken = await _mService.GetAccessTokenAsync();
using var request = new HttpRequestMessage(method, url);
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
using var content = new MultipartFormDataContent
{
{ new StreamContent(file.OpenReadStream()), file.Name, file.FileName }
};
request.Content = content;
using var response = await _httpClient.SendAsync(request);
response.EnsureSuccessStatusCode();
}
和我的要求
我的服务器 API 是
[HttpPost("User/{providerId}/AdsImage/{adsImageId}")]
[Consumes("multipart/form-data")]
public async Task<IActionResult> UploadNewAdsImage( [FromForm] IFormFile uploadFile,[FromRoute] Guid providerId , [FromRoute] Guid adsImageId)
{
}
但唯一的文件是空的
您添加到内容中的文件的键名与“上传文件”不同,因此您无法绑定模型
您可以修改您的代码:
var content = new MultipartFormDataContent
content.Add(new StreamContent(file.OpenReadStream()), "uploadfile", Path.GetFileName(file.FileName))
我的客户成功发送了文件,但我的 API 没有收到文件
这是我的客户端代码
protected async Task Send(string url, HttpMethod method, IFormFile file )
{
var accessToken = await _mService.GetAccessTokenAsync();
using var request = new HttpRequestMessage(method, url);
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
using var content = new MultipartFormDataContent
{
{ new StreamContent(file.OpenReadStream()), file.Name, file.FileName }
};
request.Content = content;
using var response = await _httpClient.SendAsync(request);
response.EnsureSuccessStatusCode();
}
和我的要求
我的服务器 API 是
[HttpPost("User/{providerId}/AdsImage/{adsImageId}")]
[Consumes("multipart/form-data")]
public async Task<IActionResult> UploadNewAdsImage( [FromForm] IFormFile uploadFile,[FromRoute] Guid providerId , [FromRoute] Guid adsImageId)
{
}
但唯一的文件是空的
您添加到内容中的文件的键名与“上传文件”不同,因此您无法绑定模型
您可以修改您的代码:
var content = new MultipartFormDataContent
content.Add(new StreamContent(file.OpenReadStream()), "uploadfile", Path.GetFileName(file.FileName))