javascript - 将文件从 JQuery Ajax 发送到 C# Webmethod

标签 javascript c# jquery asp.net ajax

我想使用 jQuery Ajax 将数据从 aspx 页面发送到 .cs Webmethod。我的html代码如下所示

            <tr>
                <td>
                    <input type="text" id="txtName">
                </td>
            </tr>
            <tr>
                <td>
                    <form action="" id="AttachmentForm1" enctype="multipart/form-data">
                        <input type="file" name="UploadFile1" id="txtUploadFile1" class="btn btn-sm" />
                    </form>
                </td>
            </tr>

我的javascript代码如下

 function saveData() {

    var file = $("#txtUploadFile1")[0].files[0];

    $.ajax({
        url: 'CCA_Form.aspx/SaveData',
        type: 'POST',
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        data: JSON.stringify({  Name: txtName, fileData: file }),
        success: function () {
            alert("Data Added Successfully");
        },
        error: function () {
            alert("Error while inserting data");
        }
    });}

我的c#代码如下

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public static bool SaveData(string Name, string[] fileData)
    {
        //Breakpoint
        return true;
    }

如何在 C# 中获取 Webmethod 中上传的文件?

提前致谢。

最佳答案

你需要使用 XMLHttpRequest
这家伙有一个非常好的教程。看看它是否对您有帮助:Click Here

或者

对于你上面的代码:

var filename = $("#txtUploadFile1").val();
 $.ajax({
    url: 'CCA_Form.aspx/SaveData',
    type: 'POST',
    enctype: 'multipart/form-data',
    data: {file: filename},
    success: function () {
        alert("Data Added Successfully");
    },
    error: function () {
        alert("Error while inserting data");
    }
});}

关于javascript - 将文件从 JQuery Ajax 发送到 C# Webmethod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43337418/

相关文章:

javascript - 在 iPad 上触发 jQuery mouseout 事件

javascript - Angular 1.5(组件)-如何使用 jQuery 插件?

javascript - 未选中复选框时无法从第二个表中删除行

javascript - 解析一个URL(作为字符串)并将每个子页面拼接成一个数组

javascript - 如何转义谷歌地图中标记标题中的字符?

c# - 无法复制文件指定的文件名太长。将机器人发布到 azure 时

c# - 将模拟概念应用于现实生活中的单元测试时大脑卡住

javascript - 如何将 backbonejs 应用程序部署到生产服务器。

javascript - Jquery 控制菜单在所有菜单上显示箭头,即使是没有子菜单的菜单

c# - 自托管 Web Api 服务到 Windows 窗体