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))