javascript - 415 使用 JQuery/FormData 和 Web Api 时不支持的媒体类型

标签 javascript c# jquery asp.net-web-api

我收到错误:

"POST {URL} 415 (Unsupported Media Type)" error 

并且无法弄清楚为什么会发生这种情况。

我正在尝试使用 FormData 在 JQuery 中上传 Excel 文件。

这是代码:

var formdata = new FormData();
var file = input.get(0).files[0];
formdata.append('content', file);

var url = "/Phrase/Import/" + $('.exportPanel #Language').val()

var ajax = $.ajax({
    url: url,
    type: "POST",
    data: formdata,
    processData: false,
    contentType: false,
    success: function (data, textStatus, jqXHR) {
        //Do something.
    },
    error: function (jqXHR, textStatus, errorThrown) {
        //Do something.
    }
});

这是 Controller 代码:

[Route("Import/{languageID}")]
[HttpPost]
public void ImportPhrases([FromUri]int languageID, [FromBody]Stream content)
{
    _service.ImportPhrases(content, languageID);          
}

我注意到,根据 Fiddler 的说法,请求的内容类型与响应的内容类型不同(不确定这是否有区别?)。

Request: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Response: application/json; charset=utf-8

上面的 JQuery 用于系统的不同部分,但使用 WCF 而不是 Web API(正在从 WCF 更改为 MVC/Web API),我再次不确定这是否会导致区别?

谁能告诉我我做错了什么?

非常感谢。

最佳答案

415 Unsupported Media Type

The request entity has a media type which the server or resource does not support. For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format.

contentType 确实很重要 - 它告诉服务器您正在上传什么。在本例中,您已将该值设置为 false。服务器无法识别这一点,因此返回 false。如果您不需要特定的内容类型,则应删除 contentType 行以允许 jQuery 默认值启动。

关于javascript - 415 使用 JQuery/FormData 和 Web Api 时不支持的媒体类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27901433/

相关文章:

c# - 空引用异常(从 mysql 下载 BLOB 文件)

javascript - (Web Audio API) 振荡器节点错误 : cannot call start more than once

javascript - Windows 商店应用程序的语言选择 : C++ or javascript ?

javascript - 如何拦截promise请求?

javascript - 将项目插入数组后如何清除输入字段?

c# - 如何分配可变数量的输入?

c# - 创建 WCF ChannelFactory<T>

javascript - 切换时多个 slider 崩溃

javascript - 是否可以使用 Javascript 或 jQuery 将 mp3 文件转换为 m4r?

jquery - 在新窗口中记住我的 jquery cookie 值