2013-02-05 133 views
0

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

我在浏览器控制台收到的错误是“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"); 
    } 
}); 

一)对通过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); 
+0

上传文件的大小可高达50 MB终于尘埃落定。 – atur

+0

ODATA网址与 相似https://mywebsite.com/api/FileDocuments(1001) 其中FileDocument是一个包含属性的类 'public Byte [] FileBinaryData {get; set;} public string Description { get; set;}' – atur

+0

即使当我尝试[链接](http://stackoverflow.com/questions/2320069/jquery-ajax-file-upload)我收到类似的问题。 – atur

回答

0

与使用jQuery插件文件上传