ASP.NET Core 2 - 缺少内容类型边界
Posted
技术标签:
【中文标题】ASP.NET Core 2 - 缺少内容类型边界【英文标题】:ASP.NET Core 2 - Missing content-type boundary 【发布时间】:2019-01-27 08:11:36 【问题描述】:我正在尝试将文件从 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()
;
虽然,服务器端我的控制器动作签名是这个:
[HttpPost]
[Route("Upload")]
[Authorize]
public Guid Post(IFormFile file)
此控制器操作中的断点永远不会被击中。
有人可以分享一下这里发生的事情吗?
在这里,根据要求,我将发布我的请求标头和有效负载:
提前致谢。
【问题讨论】:
在 UploadInput 中尝试使用 'uploadFile' 而不是 'uploadAll' @PraveenRai 没有任何变化。 在网络浏览器的网络选项卡中向我们分享请求标头和正文。 已编辑问题,请查看 @mororo 你有没有找到解决这个问题的办法?我现在面临同样的问题。我有一些输入字段和一个文件。任何帮助表示赞赏! 【参考方案1】:在开发者工具网络选项卡中检查上传请求,它应该具有正确的格式(匹配'Content-Type': 'multipart/form-data'
),您也可以尝试删除此标头。
【讨论】:
标头格式正确“multipart/form-data”,我刚刚检查了网络选项卡。 查看请求正文,见***.com/questions/16958448/… 检查它以找出什么?请你说得具体一点好吗? 请求正文,其结构必须与声明的标头匹配 尝试从你的配置中删除Content-Type
,可能它是由上传者自动设置的。 ngx-uploader.com 是工作示例。以上是关于ASP.NET Core 2 - 缺少内容类型边界的主要内容,如果未能解决你的问题,请参考以下文章
Asp.net Core 2.0 基本 JWT 缺少 ApplicationCookie
如何将 multipart/form-data 发送到 ASP.NET Core Web API?
InvalidOperationException:不正确的内容类型:ASP.NET Core