


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025甘肃酒泉市敦煌文旅交通有限公司管理岗位竞聘2人笔试历年参考题库附带答案详解
- 2025浙江嘉兴市海宁市长安镇人民政府招聘2人笔试历年参考题库附带答案详解
- 2025云南瑞丽农场集团有限责任公司招聘1人信息笔试历年参考题库附带答案详解
- 2025东风汽车集团股份有限公司人事共享服务中心招聘4人笔试历年参考题库附带答案详解
- 2025湖北神农架林区松柏镇百花坪社区卫生服务站药师理疗师招聘模拟试卷及答案详解(名师系列)
- 2025年浙江衢州江山市四都镇卫生院公开招聘编外医务人员1人考前自测高频考点模拟试题(含答案详解)
- 2025福建福州市仓山区司法局一名编外人员情况考前自测高频考点模拟试题附答案详解(典型题)
- 2025湖南分公司本部面向华电集团系统内公开招聘考前自测高频考点模拟试题及答案详解(新)
- 2025黑龙江齐齐哈尔市建华区北华街道公益性岗位招聘考前自测高频考点模拟试题及1套完整答案详解
- 2025安徽六安市中医院紧缺人才招聘模拟试卷及答案详解(易错题)
- 中国密闭空间检测无人机行业市场前景预测及投资价值评估分析报告
- 2025面向机器学习的数据标注规范
- YY/T 0339-2024呼吸道用吸引导管
- 围手术期高血压专家管理共识
- 外科患者疼痛护理与管理
- 租金延迟缴纳申请书
- 学校体育学(唐炎-刘昕版)重点、知识点
- DL-T 2563-2022 分布式能源自动发电控制与自动电压控制系统测试技术规范
- 食堂工作人员培训内容
- 泛影葡胺在消化道造影中的应用
- 2022年11月四川省凉山州中级人民法院逐级遴选4名法官笔试题库含答案解析
评论
0/150
提交评论