jQuery.FileUpload传递给C#Web服务的正确方法签名是什么?

时间:2019-07-18 16:40:04

标签: c# jquery asp.net rest

我成功使用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”引用,则该方法将再次触发...

0 个答案:

没有答案