[英]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.