使用 JQuery、ajax 和 c# 下载文件

本文关键字:下载 文件 ajax JQuery 使用 | 更新日期: 2023-09-27 18:31:13

我在网上尝试了很多文章,使用JQuery,Ajax和C#下载文本文件。他们中的大多数人说你不能使用ajax下载文件。

这是我的 JQuery-Ajax 代码

    $(document).on("click", "#imgDownload", function (event) {
        $.ajax({
            url: "/members/DownloadSelectedFile?SelectedUserName=" + $("#AllowedFriends").find(":selected").text() + "&SelectedFileName=" + $(this).siblings("span").eq(0).text(),
            success: function () {
                alert("Khushi");
            }
        });
    });

这是我的 C# 代码

public void DownloadSelectedFile(string SelectedUserName, string SelectedFileName)
        {
            Response.Clear();
            Response.ContentType = "application/octet-stream";
            Response.AppendHeader("Content-Disposition", "Filename=" + SelectedFileName + ".txt");
            Response.TransmitFile(Server.MapPath("~/Users/" + SelectedUserName + "/" + (string)Session["LoggedInUserName"] + "/" + SelectedFileName + ".txt"));
            Response.End();
        }

那么,我需要进行哪些更改才能下载文本文件。

使用 JQuery、ajax 和 c# 下载文件

将 IFrame 添加到您的文档中,无论是否运行=服务器。以下示例要求您保留它客户端

<iframe id="myDownloaderFrame" style="display:none;" ></iframe>

$(document).on("click", "#imgDownload", function (event) {
    $("#myDownloaderFrame").attr("src","/members/DownloadSelectedFile?SelectedUserName=" + $("#AllowedFriends").find(":selected").text() + "&SelectedFileName=" + $(this).siblings("span").eq(0).text());
});