我成功使用jQuery.FileUpload将文件传递到C#Web服务,但是我不得不升级jQuery.FileUpload版本以捕获iframe-transport文件中的XSS漏洞。升级以前可以正常使用的呼叫后,尝试访问WebMethod时会导致500错误
问题似乎与我传递的“ Stream”对象有关。如果删除Stream对象,则将成功调用WebMethods ...,但是我没有获得实际的文件信息。
允许这些调用通过并包含正在上传的文件的正确签名是什么?谢谢!
原始工作代码(升级后会失败)
[OperationContract]
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, UriTemplate = "/UploadFileTest/{lanid}/{ticketId}/{ticketTypeId}", BodyStyle = WebMessageBodyStyle.Bare)]
string[] UploadFileTest(Stream stream, string lanid, string ticketId, string ticketTypeId);
$('#fileupload4').fileupload({
url: 'FileService.svc/UploadFileTest/a135247/493034/1023',
dataType: 'json',
contentType: "application/json",
type: 'POST',
done: function (e, data) {
console.log("done");
},
complete: function (jqXHR, status) {
console.log("complete");
},
});
如果我只是删除2个“ Stream”引用,则该方法将再次触发...