首页 > Web开发 > 详细

.net下载文件方法

时间:2014-11-02 16:14:08      阅读:298      评论:0      收藏:0      [点我收藏+]
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下载文件方法

原文:http://www.cnblogs.com/renzaijianghu/p/4069360.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!