1

下面是对服务器上静态 Web 方法的 Ajax 请求。我想将文件及其相关详细信息发送到服务器。即使我将数据发送到服务器,我也无法使用 c#.net 在服务器端访问文件。

最困难的部分是在静态 WebMethod 中访问 FileUpload 控件。

$.ajax({
                                type: 'POST',
                                contentType: "application/json; charset=utf-8",
                                url: 'UserProfile.aspx/EditProfile',
                                data: "{'file':'" + document.getElementById('FileUpload1').files[0] + "'}",
                                async: true,
                                success: function (response) {
                                    $('#dialog-form').dialog("close");
                                }
                            });

4

1 回答 1

0

不要尝试将数据作为 JSON 发送,将其作为 formdata 发送,FormData您可以在服务器端读取文件,就像使用常规表单上传文件一样。

var data = new FormData();
data.append('file', document.getElementById('FileUpload1').files[0]);
$.ajax({
    type: 'POST',
    url: 'UserProfile.aspx/EditProfile',
    data: data,
    async: true,
    processData: false,
    contentType: false,
    success: function (response) {
        $('#dialog-form').dialog("close");
    }
});
于 2013-11-02T17:49:11.553 回答