全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C#实现下载功能using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.IO;public partial class _Default : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) /TransmitFile实现下载 protected void Button1_Click(object sender, EventArgs e) /* 微软为Response对象提供了一个新的方法TransmitFile来解决使用Response.BinaryWrite 下载超过400mb的文件时导致Aspnet_wp.exe进程回收而无法成功下载的问题。 代码如下: */ Response.ContentType = application/x-zip-compressed; Response.AddHeader(Content-Disposition, attachment;filename=z.zip); string filename = Server.MapPath(DownLoad/z.zip); Response.TransmitFile(filename); /WriteFile实现下载 protected void Button2_Click(object sender, EventArgs e) /* using System.IO; */ string fileName =asd.txt;/客户端保存的文件名 string filePath=Server.MapPath(DownLoad/aaa.txt);/路径 FileInfo fileInfo = new FileInfo(filePath); Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader(Content-Disposition, attachment;filename= + fileName); Response.AddHeader(Content-Length, fileInfo.Length.ToString(); Response.AddHeader(Content-Transfer-Encoding, binary); Response.ContentType = application/octet-stream; Response.ContentEncoding = System.Text.Encoding.GetEncoding(gb2312); Response.WriteFile(fileInfo.FullName); Response.Flush(); Response.End(); /WriteFile分块下载 protected void Button3_Click(object sender, EventArgs e) string fileName = aaa.txt;/客户端保存的文件名 string filePath = Server.MapPath(DownLoad/aaa.txt);/路径 System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath); if (fileInfo.Exists = true) const long ChunkSize = 102400;/100K 每次读取文件,只读取100K,这样可以缓解服务器的压力 byte buffer = new byteChunkSize; Response.Clear(); System.IO.FileStream iStream = System.IO.File.OpenRead(filePath); long dataLengthToRead = iStream.Length;/获取下载的文件总大小 Response.ContentType = application/octet-stream; Response.AddHeader(Content-Disposition, attachment; filename= + HttpUtility.UrlEncode(fileName); while (dataLengthToRead 0 & Response.IsClientConnected) int lengthRead = iStream.Read(buffer, 0, Convert.ToInt32(ChunkSize);/读取的大小 Response.OutputStream.Write(buffer, 0, lengthRead); Response.Flush(); dataLengthToRead = dataLengthToRead - lengthRead; Response.Close(); /流方式下载 protected void Button4_Click(object sender, EventArgs e) string fileName = aaa.txt;/客户端保存的文件名 string filePath = Server.MapPath(DownLoad/aaa.txt);/路径 /以字符流的形式下载文件 FileStream fs = new FileStream(filePath, FileMode.Open); byte bytes = new byte(int)fs.Length; fs.Read(bytes, 0, bytes.Length); fs.Close(); Response.ContentType = application/octet-stream; /通知浏览器下载文件而不是打开 Response.AddHeader(Content-Disposition, att
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广州市越秀区人民检察院属下事业单位招考工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 广州市客运交通管理处招考运政协管员易考易错模拟试题(共500题)试卷后附参考答案
- 广东化州市国土资源局事业单位招考2人易考易错模拟试题(共500题)试卷后附参考答案
- 医疗保险参保协议书
- 企业离岗退养协议书
- 山东淮河流域水利管理局规划设计院(济南)2025年下半年度招考易考易错模拟试题(共500题)试卷后附参考答案
- 出租车租金合同范本
- 个人场地出租协议书
- 核酸检测送检协议书
- 柔性电缆订购协议书
- 2024年共青团入团考试题库及答案
- 工人工资清款协议书范文模板
- 感动中国活动方案
- DL∕T 5342-2018 110kV~750kV架空输电线路铁塔组立施工工艺导则
- 第4章-细胞质膜
- TB 10424-2018 铁路混凝土工程施工质量验收标准
- JJG 705-2014液相色谱仪行业标准
- (高清版)TDT 1056-2019 县级国土资源调查生产成本定额
- 新员工三个月转正的工作总结
- 皮带输送机安全培训
- 仓库货位管理与定位策略
评论
0/150
提交评论