如何使用 ASP.NET 在服务器端发送 FormData 并对其进行处理

How to send FormData and handle it at server-side using ASP.NET

本文关键字:处理 FormData ASP 何使用 NET 服务器端      更新时间:2023-09-26

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

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

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");
    }
});