asp.net - 将 MIME 多部分内容发布到 Web Api 2

标签 asp.net http asp.net-web-api asp.net-web-api2 mime

我无法向我的 Web Api 2 发送 multipart/form-data 请求。

HTTP 请求:

POST /api/v1/software/947ee15c-0117-47d2-c567-a435010d18f3/file HTTP/1.1
Host: localhost:4022
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
Accept: application/json
Cache-Control: no-cache
Postman-Token: 7aca3e0b-cc82-7ced-b419-5b1cff9462a8

----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="code.png"
Content-Type: image/png


----WebKitFormBoundary7MA4YWxkTrZu0gW

Controller Action :

[Route("{id:Guid}/file")]
public IHttpActionResult PostFile()
{
    if (Request.Content.IsMimeMultipartContent())
    {
        // Upload the file!
    }
    else
    {
        return BadRequest("Unsupported media type");
    }
}

该操作总是以错误的请求作为响应。

Request.Content.IsMimeMultipartContent() 始终为 false。

我做错了什么?

最佳答案

我通过使用以下 Accept header 值解决了这个问题:

text/html,image/png,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

关于asp.net - 将 MIME 多部分内容发布到 Web Api 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28324065/

相关文章:

c# - 如何在 Controller 操作中访问 $orderBy 等查询参数?

AuthorizeAttribute 上的 C# 线程安全 CreateIdentityAsync

html - 改变所有asp的大小 :Label Text

c# - 如何从 asp.net webforms 中的特定电子邮件地址获取和阅读电子邮件?

android - 从 android 中的 HttpURLConnection 获取响应代码

c# - 带有 Json 响应的 Http Post C#

asp.net-web-api - HTTP 500 使用 OAuthAuthentication 和 Azure Active Directory 来保护 ASP.NET 5 Web API

c# - 在 C#/Asp.Net 中确定 IIS 服务器上的 "user logout"的最佳方法是什么?

asp.net - 第二个循环运行一次并停止

c++ - 将 "binary string"转换为 "const char*"以发送(网络服务器)