jQuery AJAX文件上传到WCF Web服务失败了大数据

时间:2013-02-14 11:21:59

标签: c# jquery .net ajax wcf

我正在编写一个应用程序的一部分,该应用程序允许拖放文件,并通过ajax上传到Web服务器。

以下是我的jQuery代码段,它将文件上传到WCF Web服务:

var fileData = JSON.stringify({
    filename: file.name,
    contentType: file.type,
    data: e.target.result
});

$.ajax({
    cache: false,
    url: "/site/app.svc/GetFile",
    type: "POST",
    dataType: "json",
    data: fileData,
    contentType: "application/json; charset=utf-8",
    processData: false
});

以下是我的WCF Web服务代码段,它获取文件数据并保存:

[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
public bool GetFile(string filename, string contentType, string data)
{
    try
    {
        var tokens = data.Split(',');
        File.WriteAllBytes("C:\\" + filename, System.Convert.FromBase64String(tokens[1]));
    }
    catch
    {
        return false;
    }
    return true;
}

这适用于小文件,但是当我到达80Kb左右时...它会失败并显示消息

  

413请求实体太大

......有时候

  

500内部服务器错误

任何关于它遇到特定大小限制时失败的想法?这是ajax帖子大小的限制,还是更有可能是WCF服务限制可以发送和不发送的内容?

1 个答案:

答案 0 :(得分:1)

您是否尝试过将配置的这些属性设置为一些重要值?     maxBufferPoolSize,     maxReceivedMessageSize,     MAXBUFFERSIZE