Posted in Javascript onApril 17, 2014
后台代码Handler.ashx
<%@ WebHandler Language="C#" Class="Handler" %> using System; using System.Web; public class Handler : IHttpHandler { public void ProcessRequest (HttpContext context) { string fileName = "web.config";//客户端保存的文件名 string filePath = context.Server.MapPath("web.config");//路径 //以字符流的形式下载文件 System.IO.FileStream fs = new System.IO.FileStream(filePath, System.IO.FileMode.Open); byte[] bytes = new byte[(int)fs.Length]; fs.Read(bytes, 0, bytes.Length); fs.Close(); context.Response.ContentType = "application/octet-stream"; //通知浏览器下载文件而不是打开 context.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); context.Response.BinaryWrite(bytes); context.Response.Flush(); context.Response.End(); } public bool IsReusable { get { return false; } } }
前端代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script src="jquery-1.7.2.min.js" type="text/javascript"></script> <title></title> <script> function download_file(url) { if (typeof (download_file.iframe) == "undefined") { var iframe = document.createElement("iframe"); download_file.iframe = iframe; document.body.appendChild(download_file.iframe); } // alert(download_file.iframe); download_file.iframe.src = url; download_file.iframe.style.display = "none"; } </script> </head> <body> <a href="javascript:void(0);" onclick="download_file('Handler.ashx')">aaaaa</a> <a href="javascript:void(0);" onclick="download_file('Handler.ashx')">bbbbb</a> <a href="javascript:void(0);" onclick="download_file('Handler.ashx')">ccccc</a> </body> </html>
JS下载文件|无刷新下载文件示例代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@