以流的方式下载文件,隐藏实际的下载路径

转自: http://dev.mjxy.cn/a-Download-the-file-to-stream-download-hide-the-real-path.aspx

以流的方式下载文件,隐藏实际的下载路径
 

01 string path = Server.MapPath("~/UploadFiles/" + "a.doc");
02         System.IO.FileInfo file = new System.IO.FileInfo(path);
03   
04         Response.Clear();
05         Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
06   
07         Response.AddHeader("Content-Length", file.Length.ToString());
08         Response.ContentType = "application/octet-stream";
09         Response.WriteFile(file.FullName);
10         Response.End();
11   
12 public void down(string cc)
13   {
14    if (cc != "")
15    {
16   
17     string path = System.Web.HttpContext.Current.Server.MapPath(cc);
18     System.IO.FileInfo file = new System.IO.FileInfo(path);
19     if (file.Exists)
20     {
21      System.Web.HttpContext.Current.Response.Clear();
22      System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
23   
24      System.Web.HttpContext.Current.Response.AddHeader("Content-Length", file.Length.ToString());
25   
26      System.Web.HttpContext.Current.Response.ContentType = "application/octet-stream";
27   
28      System.Web.HttpContext.Current.Response.Filter.Close();
29      System.Web.HttpContext.Current.Response.WriteFile(file.FullName);
30      System.Web.HttpContext.Current.Response.End();
31     }
32     else
33     {
34      System.Web.HttpContext.Current.Response.Write("文件不存在");
35      System.Web.HttpContext.Current.Response.End();
36     }
37     }
38   }
posted @ 2011-07-08 15:16  敏捷学院  阅读(483)  评论(0编辑  收藏  举报