這裏是我想要做的(失敗,我可以補充),並希望你能給我文件上傳到一個跨域WCF服務的使用jQuery AJAX
從我的HTML5網站的任何方向,我想將文件上載到IIS 7.5中承載的跨域WCF服務。
除了上傳文件,我需要發送附加參數上傳功能的服務器
上這是可能的嗎?
這裏是我的OperationContract的樣子:
[OperationContract]
[WebInvoke(Method = "POST",
UriTemplate = "/uploadmodeldata/?id={Id}&customerdatatype={customerdatatype}&data={data}")]
void UploadModelData(string Id, string customerdataType, byte[] data);
這裏是我的jQuery Ajax請求
function FileVisits() {
var uid = checkCookie1();
userid = uid.toString().replace(/"/g, '');
var fileData = JSON.stringify({
Id:userid ,customerdatatype:scanupload,
data: $('#fileBinary').val()
});
alert(fileData);
"use strict";
var wcfServiceUrl = "http://xxxxx:1337/Service1.svc/XMLService/";
$.ajax({
cache: false,
url: wcfServiceUrl + "uploadmodeldata/",
data: fileData,
type: "POST",
processData: false,
contentType: "application/json",
timeout: 10000,
dataType: "json",
headers: {
'User-agent': 'Mozilla/5.0 (compatible) Greasemonkey',
'Accept': 'application/atom+xml,application/xml,text/xml',
},
beforeSend: function (xhr) {
$.mobile.showPageLoadingMsg();
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
},
complete: function() {
$.mobile.hidePageLoadingMsg();
},
success: function (data) {
var result = data;
},
error: function (data) {
alert("Error");
}
});
}
如果文件大小小於100 KB這個錯誤發生
方法不允許
但如果文件大於100 KB這個錯誤發生
413請求實體大
如何從jQuery的AJAX文件上傳到跨域WCF。 謝謝
解決此問題。其實我已經在wcf config中使用了綁定名稱。刪除綁定名稱後,每件事情都正常工作。 – MindFresher 2013-03-20 06:00:28