A-A+

Asp.Net 2.0 防盗下载文件

2008年05月25日 編程·程序設計 暂无评论 阅读 2,557 views 次
C#代码
  1. public void downLoad(string path)   
  2. {   
  3.     try  
  4.     {   
  5.         string filePath = path;   
  6.         int temp = filePath.LastIndexOf("/") + 1;   
  7.         string fileName = filePath.Substring(temp, filePath.Length - temp);   
  8.         //FileStream fileStream = new FileStream(Server.MapPath(filePath), FileMode.Open, FileAccess.Read, FileShare.Read);   
  9.   
  10.         FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);   
  11.   
  12.         long fileSize = fileStream.Length;   
  13.         Context.Response.ContentType = "application/octet-stream";   
  14.         Context.Response.AddHeader("Content-Disposition""attachment; filename="" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + """);   
  15.         Context.Response.AddHeader("Content-Length", fileSize.ToString());   
  16.         byte[] fileBuffer = new byte[fileSize];   
  17.         fileStream.Read(fileBuffer, 0, (int)fileSize);   
  18.         fileStream.Close();   
  19.         Context.Response.BinaryWrite(fileBuffer);   
  20.         Context.Response.End();   
  21.     }   
  22.     catch  
  23.     {   
  24.         Response.Write("<script>alert('查无此资料或已被删除');</script>");   
  25.     }   
  26. }  

给我留言

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。

Copyright © 寂寞部屋 保留所有权利.   Theme  Ality

用户登录