繁体   English   中英

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

[英]jQuery AJAX file upload to WCF web service fails on large data

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

这是将文件上传到WCF Web服务的jQuery代码片段:

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服务更有可能限制可以发送和不能发送的内容?

您是否尝试过将配置的这些属性设置为较大的价值? maxBufferPoolSize,maxReceivedMessageSize,maxBufferSize

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM