我正在寫一個應用程序的一部分,它允許拖放文件,並通過ajax上傳到Web服務器。jQuery AJAX文件上傳到WCF 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服務限制可以發送和不可發送的內容?
最大的可能是413來自WCF的侷限性和500是因爲你的要求exceedes爲ASP.NET允許的最大請求大小。所有限制都可以重新配置。 – 2013-02-14 11:26:08