【发布时间】:2017-10-02 08:25:47
【问题描述】:
我创建了 Web API 端点来接收如下所示的 zip 文件
[HttpPut()]
[Consumes("application/zip")]
public async Task<IActionResult> ImportZip()
{
var zipFile = HttpContext.Request.Form.Files.FirstOrDefault();
....
我正在尝试通过 Postman 进行测试,并提出这样的要求:
但我收到异常“System.InvalidOperationException: Incorrect Content-Type: application/zip”
我做错了什么? 谢谢!
编辑 请求实际上通过 [Consumes("application/zip")] 属性,但在“HttpContext.Request.Form.Files.FirstOrDefault();”上崩溃
EDIT2
好的,所以当我没有在请求中放入任何标头并删除 [Consumes("application/zip")] 属性时,我终于成功地收到了一个文件。在Request.Form.Files 我的文件有一个类型“application/x-zip-compressed”但是当我试图在 headers content-type 和 Consumes 属性中使用它时我得到同样的崩溃System.InvalidOperationException: Incorrect Content-Type: application/x-zip-compressed
【问题讨论】:
-
我很确定
application/zip的内容类型对于您的 asp.net 核心应用程序是未知的。我认为您必须将您的 zip 上传为application/octet-stream。 -
@NtFreX - System.InvalidOperationException:不正确的内容类型:应用程序/八位字节流
-
我觉得你还需要在postman中设置body type为
binary。 -
@NtFreX - 同样的事情......
标签: c# asp.net-web-api postman .net-core-1.1