如何使用ASP.NET发送FormData并在服务器端处理它

时间:2013-11-02 13:41:46

标签: javascript jquery asp.net ajax html5

以下是对服务器上的静态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");
                                }
                            });

1 个答案:

答案 0 :(得分: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");
    }
});