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

标签 javascript jquery asp.net ajax html

下面是对服务器上静态 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 形式发送数据,而是以 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");
    }
});

关于javascript - 如何使用 ASP.NET 发送 FormData 并在服务器端处理它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19742493/

相关文章:

javascript - 联系表单发送按钮抛出错误

c# - 从 asp.net 中的代码隐藏函数调用 Javascript

php - jquery 不发送按钮选择到 php

javascript - 如何仅在页面加载时在 <body> 的特定 div 中显示加载程序

javascript - 警报随着 keyup 事件消失

php - 如何保护我的 AJAX 服务?

javascript - Kendo 按钮单击时调用 javascript 函数

javascript - 当同一页面中有多个具有相同类的元素时,如何通过类选择 id

javascript - 无法获取要处理的 jquery AJAX 请求

.net - ASP.NET 成员资格和基于角色的安全性