C#文件下载
来源:互联网 发布:淘宝店铺设置最低折扣 编辑:程序博客网 时间:2024/05/16 19:28
在实际项目开发中经常会遇到下载文件的情况,总结下来,以备不时之需。
字节流下载
protected void btnDownload_Click(object sender, EventArgs e){ //下载到客户端后显示的文件名 string fileName = "蝈蝈.xls"; //服务器目标文件 string filePath = Server.MapPath("UploadFiles/awesome.xls"); //以字符流的形式下载文件 FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read); //每次读取1MB byte[] bytes = new byte[1024 * 1024]; Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); //读取到的字节长度 int length = 0; do { length = fs.Read(bytes, 0, bytes.Length); Response.BinaryWrite(bytes); } while (length == 1024 * 1024); Response.Flush(); fs.Close(); Response.End();}
读取完毕后有可能出现下载的文件比原文件略大的情况,举例说明:
原文件1.5MB,第一次读了1MB,Response.BinaryWrite()输出1MB,第二次读了0.5MB,但是Response.BinaryWrite()仍然输出1MB,所以造成了比原文件略大的情况,不过不影响文件的完整度,所以可放心使用。
1 0
- C#下载文件函数
- c#文件下载问题
- C#文件下载
- c#文件下载
- c#文件下载方法
- c#实现文件下载
- c#下载文件
- c#文件下载,收藏
- c#下载文件代码
- C#下载文件:WebClient
- C# 下载文件
- C# 文件下载
- C# 文件下载
- C# aspx文件下载
- C#下载 .jar文件
- C#文件下载
- C# 直接下载文件
- c# 多线程下载文件
- 编程习惯积累
- UICollectionView 、UItableView 动态改变高度
- Android开源SlidingMenu的使用
- git之rebase和merge学习记录
- oracle数据处理需求01
- C#文件下载
- Spring学习总结(17)——Spring AOP权限管理
- ZOJ 3353 Chess Board && NEFU OJ 506(高斯消元好题)
- Android —— VauleAnimator动画进阶
- 9.9学习记录
- LINUX集群--均衡负载 LVS(一) LVS认知
- finalize的使用场景
- Java阻塞IO与非阻塞IO
- 排序算法