首页 > 代码库 > .net下载文件方法

.net下载文件方法

1、以文件流下载
       byte[] fileStr=new  byte[5];            MemoryStream btMs = new MemoryStream(fileStr);            //以字符流的形式下载文件             byte[] bytes = new byte[(int)btMs.Length];            btMs.Read(bytes, 0, bytes.Length);            btMs.Close();            Page.Response.ContentType = "application/octet-stream";            //通知浏览器下载文件而不是打开             Page.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8));            Page.Response.BinaryWrite(bytes);            Page.Response.Flush();            Page.Response.End();

2、根据文件路径下载

public void Download(string path)        {            string filePath = HttpContext.Current.Server.MapPath(path);//路径            //以字符流的形式下载文件             FileStream fs = new FileStream(filePath, FileMode.Open);            byte[] bytes = new byte[(int)fs.Length];            fs.Read(bytes, 0, bytes.Length);            fs.Close();            HttpContext.Current.Response.ContentType = "application/octet-stream";            HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode("test", System.Text.Encoding.UTF8));            HttpContext.Current.Response.BinaryWrite(bytes);            HttpContext.Current.Response.Flush();            HttpContext.Current.Response.End();        }

3.直接下载

 WebClient client = new WebClient();

//文件存放路径
var path = HttpContext.Current.Server.MapPath(@"\Static\BtDownload\");

//判断文件是否存在
var file = new FileInfo(path + filename);
if (!file.Exists)
{
 client.DownloadFile(value, path + filename);
}

 

.net下载文件方法