通过jQuery Ajax POST请求上传文件数据时出错

时间:2013-02-05 11:08:20

标签: javascript jquery asp.net-mvc-3 odata

我在尝试通过jQuery Ajax POST请求上传大于50kB的文件时收到错误。 我将请求发送到OData服务(ASP.Net MVC应用程序)

我在浏览器控制台中收到的错误是“413请求实体太大”

以下是我用来上传的代码

  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);

1 个答案:

答案 0 :(得分:0)

最后使用jQuery fileUpload插件解决了