一. 源代码
1 <%@ WebHandler Language="C#" Class="DownLoad" %> 2 3 using System; 4 using System.Web; 5 6 public class DownLoad : IHttpHandler { 7 8 public void ProcessRequest (HttpContext context) { 9 //针对图片不能下载,强制另存为 10 //1. 获取要下载的文件路径 11 string strFilePath = context.Request.QueryString["n"]; 12 //2. 转成物理路径 13 strFilePath = context.Request.MapPath(strFilePath); 14 //3. 关键:添加一个响应报文头,强制浏览器以另存为附件的方式打开本次输出的响应报文 15 context.Response.AddHeader("Content-Disposition","attachment;filename=downloadfile.jpg"); 16 //4. 将文件读取并输出给浏览器 17 context.Response.WriteFile(strFilePath); 18 } 19 20 public bool IsReusable { 21 get { 22 return false; 23 } 24 } 25 26 }
二. 效果图