发布 IFormFile 时出现错误请求 (400)

Ste*_*ven 4 c# asp.net-web-api postman asp.net-core

我有一个 .NET Core API 项目,它有一个简单的端点来上传文件:

[Route("api/[controller]")]
[ApiController]
public class FilesController : Controller
{
    private IFilesService _filesService { get; set; }

    public FilesController(IFilesService filesService)
    {
        _filesService = filesService;
    }

    [HttpPost]
    public async Task<IActionResult> UploadFile(IFormFile file)
    {
        var model = await _filesService.UploadFile(file);
        return Ok();
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用 Postman 对此进行测试,但每次将文件发布到端点时,都会收到 400 Bad Request 错误。我的端点永远不会被击中。

我还有其他几个可以正常工作的 POST 端点,因此这是这个特定端点或 Postman 的问题。这是我在 Postman 中的设置:

在此输入图像描述

我一直在努力找出问题所在,但根本没有太多问题,我正在遵循我在网上看到的示例。

我究竟做错了什么?

Chr*_*.ZA 5

我看到您已设置该[ApiController]属性,因此我假设您正在运行 ASP.Net Core 2.1。

如果尚未设置,请尝试在 Startup.cs 中services.AddMvc()进行修改services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

不久前我遇到了类似的问题,上述更改为我解决了这个问题。我在这里找到了问题的答案。

希望这可以帮助!