通过将jquery ajax中的文件发布到asmx来上载文件

时间:2015-06-08 10:48:48

标签: jquery ajax web-services asmx

我正在尝试通过网络服务(ASMX)上传文件

我写了以下网页服务

[WebMethod]
public string UploadProducts(string Title, Stream documentStream)

我在客户端编写了一个脚本,如下所示

        var data = new FormData(),
        file = $("#fileUpload")[0].files[0]; // an input of type file
        if (file != null) {
            data.append("Title", "demotitle");
            data.append("documentStream", files[0]);
            $.ajax(
            {
                url: "FileManager.asmx/UploadFile",
                dataType: "json",
                type: "POST",
                data: data,
                cache: false,
                contentType: false,
                processData: false,
                success: function () {alert('done') },
                error: function () { alert('error'); }
            });

这似乎无效。如果有人可以指导我在哪里做错了会很棒。在此先感谢:)

1 个答案:

答案 0 :(得分:0)

删除代码中的dataType:json

var data = new FormData(),
file = $("#fileUpload")[0].files[0]; // an input of type file
if (file != null) {
    data.append("Title", "demotitle");
    data.append("documentStream", files[0]);
}
$.ajax(
{
    url: "FileManager.asmx/UploadFile",
    type: "POST",
    data: data,
    cache: false,
    contentType: false,
    processData: false,
    success: function () {alert('done') },
    error: function () { alert('error'); }
});

这应该有用。