这是我正在尝试做的事情(不成功,我可能会补充),并且很感激你能给我的任何方向
从我的 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。谢谢