我在网上尝试过很多文章,用于使用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();
}
那么,为了能够下载文本文件,我需要做些哪些更改。
答案 0 :(得分:4)
为文档添加IFrame,runat = server或不....以下示例要求您保留客户端
<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());
});