后台代码Handler.ashx
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;
}
}
}
前端代码:
<script> <BR>function download_file(url) <BR>{ <br><br>if (typeof (download_file.iframe) == "undefined") <BR>{ <BR>var iframe = document.createElement("iframe"); <BR>download_file.iframe = iframe; <BR>document.body.appendChild(download_file.iframe); <BR>} <BR>// alert(download_file.iframe); <BR>download_file.iframe.src = url; <br><br>download_file.iframe.style.display = "none"; <br><br><br><br>} <BR></script>
aaaaa bbbbb ccccc