`
bailangfei3344
  • 浏览: 42063 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【转】 文件下载四方法

 
阅读更多

 

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.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)
{
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 byte[ChunkSize];

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", "attachment;  filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();

}
}
 转自: http://topic.csdn.net/u/20120822/10/D8115BB7-2F2A-4C2F-B0C1-AAB68BCB1E3E.html
分享到:
评论

相关推荐

    .net下的RGB图片转CMYK处理C#

    RGB图片转CMYK处理,使用ICC文件,采用原生方法

    华硕主板植入nvme驱动文件

    cn_5.00.0007 ,华硕CAP格式转BIN软件及使用方法,CH341A软件和编程器驱动这三种软件,还需要用到的通用的NvME主板驱动补丁XiaoFengNvmExpressDxe 这个是在网上找的别人现成的,最后就是需要去华硕官方网站下载主板...

    DWG文件异常增大问题的解决

    如果您在加载 DgnLsPurge.dll 时遇到问题,请检查 .dll 文件的特性,方法是选择该文件、单击 鼠标右键,然后选择“特性”。在某些情况下,系统的安全设置可能阻止加载 .dll。如果是这种 情况,可以通过选择特性的...

    DOS三个基本启动文件COMMAND.COM MS-DOS.SYS IO.SYS DOS引导文件Boot.rar sys.com

     不同方式形成的MSDOS.SYS默认内容不同,主要有四种,其中前三种方法形成的MSDOS.SYS文件无任何配置命令,几乎是空文件,仅保留一行注释,以说明该文件形成方式,这类文件多见于系统软盘中。不同的MSDOS.SYS内容...

    用于家庭助理 的 Fronius传感器_Python_代码_相关文件_下载

    用于家庭助理的 Fronius 传感器 该组件简化了 Fronius 逆变器和可选 PowerFlow/SmartMeter 的集成: 创建多达 22 个单独的传感器,以便在自动化中轻松显示或使用 ...更多详情、使用方法,请下载后细读README.md文件

    华硕 M5A97 LE R2.0主板nvme BIOS文件

    cn_5.00.0007 ,华硕CAP格式转BIN软件及使用方法,CH341A软件和编程器驱动这三种软件,还需要用到的通用的NvME主板驱动补丁XiaoFengNvmExpressDxe 这个是在网上找的别人现成的,最后就是需要去华硕官方网站下载主板...

    数字化转型的新型能力体系建设指南.zip

    数字化转型的核心路径是...本文件给出了新型能力的识别、新型能力的分解与组合、能力单元的建设以及新型能力的分级建设 等方法,旨在帮助组织以新型能力建设为主线,系统推进数字化转型活动,稳定获取数字化转型成效。

    PDF转Word.rar

    下载文件压缩包,解压缩后,直接启动程序,软件打开首先会出现的选择框,让你选择要进行转化的PDF文件。 选中要转换的PDF文档,然后[点击右侧的“转换”,进入转换模式选择界面 这里Solid Converter PDF提供了四种...

    C++实现万能进制转换

    C++实现进制转换教程 一、资源简介 本资源是一份详尽的C++实现进制转换的教程,旨在帮助读者理解并掌握C++语言在进制...请点击下方链接或扫描二维码下载本教程的PDF文件。如需更多关于C++编程的资源和教程,请关注我。

    C#5.0本质论第四版(因文件较大传的是百度网盘地址)

    C#5.0本质论第四版,高清扫描的,对C#5.0技术讲的比较详细,第1章 C#概述 1 1.1 Hello,World 1 1.2 C#语法基础 3 1.2.1 C#关键字 3 1.2.2 标识符 4 1.2.3 类型定义 5 1.2.4 Main 6 1.2.5...

    玩转电脑技巧全书总汇

    目录 1、windows操作系统快捷键 2、Windows 开始→运行→命令 集锦!...24、安全上网必备:隐藏私密文件四大方法 25、如何取消XP开机自动运行的程序 26、windows的140个技巧 27、隐藏在XP中的28个秘密武器

    ArcGIS超级工具v1.7

    1.文本文件操作 1.1 excel转点 1.2 表格转点 1.3 点集转面 1.4 线封闭 1.5 征地部标准坐标导出 1.6 征地部标准坐标导入 2.mxd操作 2.1 数据打包 2.1.1 mxd批量打包 2.1.2 mxd文档发邮件 2.1.3 数据发邮件 2.2 mxd...

    CAD加速文件

    四、加载CAD启动加速器 我们在安装CAD的时候会自动的加载一个加速器,如果碰到CAD打开慢的时候,请检查一下这个加速器是否启动成功了。 检查方法:打开开始菜单--程序--启动 看看里面有没有一个叫CAD启动加速器...

    cad web预览

    图纸文件是四个SVG/JS 文件,由 AutoXchange转换生成 下载地址:http://www.tailormade.com/downloads/ax2017_W32_01.zip >ax2015 -i=mypath/myinputfile.dwg -o=mypath/myoutputfile.js -f=js -size=2800 -prec=1 ...

    JAVA上百实例源码以及开源项目

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

     一.JAVA程序传送到手机的方法:

    首先把JAR压缩文件(压缩文件不要解压)和JAD文件下载到电脑里面去, 把这两个文件直接拷贝到手机里的其它文件这个目录下,或者在手机储存卡other files这个 文件夹里,然后在复制到手机的其他文件夹就可以了,在手机的...

    Java核心技术II(第8版)

    第四章 数据库编程 4.1 JDBC的设计 4.1.1 JDBC驱动程序类型 4.1.2 JDBC的典型用法 4.2 结构化查询语言 4.3 JDBC配置 4.3.1 数据库URL 4.3.2 驱动程序JAR文件 4.3.3 启动数据库 4.3.4 注册驱动器类 4.3.5 连接到...

    一个用于算法 音乐生成的 Python 项目_python_代码_下载

    GRUV 是一个 Python 项目,用于使用循环神经网络生成算法音乐。 步骤 1. 准备数据 将您的音乐复制到 ./datasets/YourMusicLibrary/ 并在终端中键入以下命令: ...更多详情、使用方法,请下载后阅读README.md文件

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    实例048 对计算结果进行四舍五入 62 实例049 商品金额的大小写转换 63 实例050 设置货币值中使用的小数位数 64 实例051 格式化输入数据为货币格式 65 实例052 开发一个进制转换器 66 3.4 日期时间格式的数据处理 67 ...

    将音频文件转二进制分包存储到Redis的实现方法(奇淫技巧操作)

    四、从redis数据库中获取数据,转换成音频流输出到浏览器播放、实现音频下载功能 程序如下: 1.在SpringBootpom.xml文件中添加Redis依赖 <!--Redis依赖--> <groupId>org.springframework.boot ...

Global site tag (gtag.js) - Google Analytics