我在尝试通过 jQuery Ajax POST 请求上传大于 50kB 的文件时收到错误消息。我将请求发送到 OData 服务(ASP.Net MVC 应用程序)
我在浏览器控制台中收到的错误是“413 Request Entity Too Large”
下面是我用来上传的代码
var fileData =
{
fileBinaryData: encodedData //file data in encoded format ( 64 bit),
Description: "my first file"
};
fileData = JSON.stringify(fileData);
$.ajax({
url: // some odata url ,
type: "POST",
data: fileData,
success: function (res) {
// do something
},
contentType: "application/json",
beforeSend: function (xhr) {
xhr.setRequestHeader("Accept", "application/json");
}
});
a) 以上代码是通过 jQuery ajax 将文件数据上传到服务的正确方法吗 b) 我已修改我的 web.config 以接受大型请求。c)我不想使用像uploadify之类的插件
编辑 1:我使用 javascripts 的 FileReader() 来读取文件。
var reader = new FileReader();
//then applied reader.onloadend method etc
if (file.webkitSlice) {
var blob = file.slice(start, stop + 1);
} else if (file.mozSlice) {
var blob = file.mozSlice(start, stop + 1);
}
reader.readAsBinaryString(blob);