ASP.NET Core 2-缺少内容类型边界

mor*_*oro 6 c# content-type http asp.net-core-2.0 angular

我正在尝试将文件从Angular客户端上传到我的ASP.NET Core 2 WebAPI服务。当我调用该服务时,我返回一个内部服务器错误。那就是我得到的错误: 在此处输入图片说明

我正在客户端使用的组件是:ngx-uploader

在我的请求选项中,我将其设置为您可以在此处看到的:

  const event: UploadInput = {
  type: 'uploadAll',
  url: this.printService.apiFilesBaseUrl + '/Upload',
  method: 'POST',
  file: this.files[0],
  headers: {
    'Content-Type': 'multipart/form-data',
    'Accept': '*/*',
    'Authorization': 'Bearer ' + this.authService.getToken()
  }
};
Run Code Online (Sandbox Code Playgroud)

而在服务器端,我的控制器动作签名是这样的:

    [HttpPost]
    [Route("Upload")]
    [Authorize]
    public Guid Post(IFormFile file)
Run Code Online (Sandbox Code Playgroud)

此控制器操作中的断点永远不会被击中。

有人可以分享一下这里发生的事情吗?

在这里,根据要求,我将发布我的请求标头和有效负载:

在此处输入图片说明

提前致谢。

kem*_*sky 8

在开发工具网络标签中检查上传请求,该请求的格式应正确(匹配'Content-Type': 'multipart/form-data'),也可以尝试删除此标头。

  • 尝试从您的配置中删除“ Content-Type”,可能是上传者自动设置的。https://ngx-uploader.com/是有效的示例。 (7认同)

小智 6

您可以添加content-type:作为multipart/form-data; 边界=--14737809831466499882746641449

我正在邮递员上测试 API,并添加了像上面这样对我有用的内容类型。