asp.net response.ContentType 下载文件的四种方法「建议收藏」

asp.net response.ContentType 下载文件的四种方法「建议收藏」原址:http://www.cnblogs.com/xtgyiq/archive/2009/07/06/1517415.htmlprotectedvoidButton1_Click(objectsender,EventArgse)   { 1 protected void Button1_Click(object sender, Even

大家好,又见面了,我是你们的朋友全栈君。

原址:http://www.cnblogs.com/xtgyiq/archive/2009/07/06/1517415.html

protected void Button1_Click(object sender, EventArgs e)
    {

asp.net response.ContentType 下载文件的四种方法「建议收藏」

 1asp.net response.ContentType 下载文件的四种方法「建议收藏」 protected void Button1_Click(object sender, EventArgs e)
 2asp.net response.ContentType 下载文件的四种方法「建议收藏」    {

 3asp.net response.ContentType 下载文件的四种方法「建议收藏」        //TransmitFile实现下载
 4asp.net response.ContentType 下载文件的四种方法「建议收藏」
 5asp.net response.ContentType 下载文件的四种方法「建议收藏」        /*
 6asp.net response.ContentType 下载文件的四种方法「建议收藏」         微软为Response对象提供了一个新的方法TransmitFile来解决使用Response.BinaryWrite
 7asp.net response.ContentType 下载文件的四种方法「建议收藏」         下载超过400mb的文件时导致Aspnet_wp.exe进程回收而无法成功下载的问题。
 8asp.net response.ContentType 下载文件的四种方法「建议收藏」         代码如下:
 9asp.net response.ContentType 下载文件的四种方法「建议收藏」        */

10asp.net response.ContentType 下载文件的四种方法「建议收藏」
11asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.ContentType = “application/x-zip-compressed“;
12asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.AddHeader(“Content-Disposition“, “attachment;filename=keji.rar“);
13asp.net response.ContentType 下载文件的四种方法「建议收藏」        string filename = Server.MapPath(“keji.rar“);
14asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.TransmitFile(filename);
15asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.Write(“<script language=\“javascript\“ type=\“text/javascript\“>“);
16asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.Write(“alert(\“下载成功\“);“);
17asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.Write(“window.location.href=\“C_SC.aspx\“;“);
18asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.Write(“</script>“);
19asp.net response.ContentType 下载文件的四种方法「建议收藏」
20asp.net response.ContentType 下载文件的四种方法「建议收藏」    }

21asp.net response.ContentType 下载文件的四种方法「建议收藏」    protected void Button2_Click(object sender, EventArgs e)
22asp.net response.ContentType 下载文件的四种方法「建议收藏」    {

23asp.net response.ContentType 下载文件的四种方法「建议收藏」
24asp.net response.ContentType 下载文件的四种方法「建议收藏」        //WriteFile实现下载
25asp.net response.ContentType 下载文件的四种方法「建议收藏」        string fileName = “ceshi.rar“;//客户端保存的文件名
26asp.net response.ContentType 下载文件的四种方法「建议收藏」        string filePath = Server.MapPath(“keji.rar“);//路径
27asp.net response.ContentType 下载文件的四种方法「建议收藏」
28asp.net response.ContentType 下载文件的四种方法「建议收藏」        FileInfo fileInfo = new FileInfo(filePath);
29asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.Clear();
30asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.ClearContent();
31asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.ClearHeaders();
32asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.AddHeader(“Content-Disposition“, “attachment;filename=“ + fileName);
33asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.AddHeader(“Content-Length“, fileInfo.Length.ToString());
34asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.AddHeader(“Content-Transfer-Encoding“, “binary“);
35asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.ContentType = “application/octet-stream“;
36asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.ContentEncoding = System.Text.Encoding.GetEncoding(“gb2312“);
37asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.WriteFile(fileInfo.FullName);
38asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.Flush();
39asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.End();
40asp.net response.ContentType 下载文件的四种方法「建议收藏」
41asp.net response.ContentType 下载文件的四种方法「建议收藏」    }

42asp.net response.ContentType 下载文件的四种方法「建议收藏」    protected void Button3_Click(object sender, EventArgs e)
43asp.net response.ContentType 下载文件的四种方法「建议收藏」    {

44asp.net response.ContentType 下载文件的四种方法「建议收藏」        //WriteFile分块下载
45asp.net response.ContentType 下载文件的四种方法「建议收藏」
46asp.net response.ContentType 下载文件的四种方法「建议收藏」        string fileName = “GhostXP.iso“;//客户端保存的文件名
47asp.net response.ContentType 下载文件的四种方法「建议收藏」        string filePath = Server.MapPath(“GhostXP7.7.iso“);//路径
48asp.net response.ContentType 下载文件的四种方法「建议收藏」
49asp.net response.ContentType 下载文件的四种方法「建议收藏」         System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath);
50asp.net response.ContentType 下载文件的四种方法「建议收藏」
51asp.net response.ContentType 下载文件的四种方法「建议收藏」        if (fileInfo.Exists == true)
52asp.net response.ContentType 下载文件的四种方法「建议收藏」         {

53asp.net response.ContentType 下载文件的四种方法「建议收藏」            const long ChunkSize = 409600;//100K 每次读取文件,只读取100K,这样可以缓解服务器的压力
54asp.net response.ContentType 下载文件的四种方法「建议收藏」            byte[] buffer = new byte[ChunkSize];
55asp.net response.ContentType 下载文件的四种方法「建议收藏」
56asp.net response.ContentType 下载文件的四种方法「建议收藏」             Response.Clear();
57asp.net response.ContentType 下载文件的四种方法「建议收藏」             System.IO.FileStream iStream = System.IO.File.OpenRead(filePath);
58asp.net response.ContentType 下载文件的四种方法「建议收藏」            long dataLengthToRead = iStream.Length;//获取下载的文件总大小
59asp.net response.ContentType 下载文件的四种方法「建议收藏」             Response.ContentType = “application/octet-stream“;
60asp.net response.ContentType 下载文件的四种方法「建议收藏」             Response.AddHeader(“Content-Disposition“, “attachment; filename=“ + HttpUtility.UrlEncode(fileName));
61asp.net response.ContentType 下载文件的四种方法「建议收藏」            while (dataLengthToRead > 0 && Response.IsClientConnected)
62asp.net response.ContentType 下载文件的四种方法「建议收藏」             {

63asp.net response.ContentType 下载文件的四种方法「建议收藏」                int lengthRead = iStream.Read(buffer, 0, Convert.ToInt32(ChunkSize));//读取的大小
64asp.net response.ContentType 下载文件的四种方法「建议收藏」                 Response.OutputStream.Write(buffer, 0, lengthRead);
65asp.net response.ContentType 下载文件的四种方法「建议收藏」                 Response.Flush();
66asp.net response.ContentType 下载文件的四种方法「建议收藏」                 dataLengthToRead = dataLengthToRead – lengthRead;
67asp.net response.ContentType 下载文件的四种方法「建议收藏」             }

68asp.net response.ContentType 下载文件的四种方法「建议收藏」             Response.Close();
69asp.net response.ContentType 下载文件的四种方法「建议收藏」         }

70asp.net response.ContentType 下载文件的四种方法「建议收藏」     }

71asp.net response.ContentType 下载文件的四种方法「建议收藏」
72asp.net response.ContentType 下载文件的四种方法「建议收藏」    //字符流方式下载文件
73asp.net response.ContentType 下载文件的四种方法「建议收藏」    protected void Button4_Click(object sender, EventArgs e)
74asp.net response.ContentType 下载文件的四种方法「建议收藏」    {

75asp.net response.ContentType 下载文件的四种方法「建议收藏」        string fileName = “ce2.rar“;//客户端保存的文件名
76asp.net response.ContentType 下载文件的四种方法「建议收藏」        string filePath = Server.MapPath(“keji.rar“);//路径
77asp.net response.ContentType 下载文件的四种方法「建议收藏」
78asp.net response.ContentType 下载文件的四种方法「建议收藏」        //以字符流的形式下载文件
79asp.net response.ContentType 下载文件的四种方法「建议收藏」        FileStream fs = new FileStream(filePath, FileMode.Open);
80asp.net response.ContentType 下载文件的四种方法「建议收藏」        byte[] bytes = new byte[(int)fs.Length];
81asp.net response.ContentType 下载文件的四种方法「建议收藏」        fs.Read(bytes, 0, bytes.Length);
82asp.net response.ContentType 下载文件的四种方法「建议收藏」        fs.Close();
83asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.ContentType = “application/octet-stream“;
84asp.net response.ContentType 下载文件的四种方法「建议收藏」        //通知浏览器下载文件而不是打开
85asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.AddHeader(“Content-Disposition“, “attachment;   filename=“ + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
86asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.BinaryWrite(bytes);
87asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.Flush();
88asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.End();
89asp.net response.ContentType 下载文件的四种方法「建议收藏」
90asp.net response.ContentType 下载文件的四种方法「建议收藏」    }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161599.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • rj45管脚定义_rj45接口定义,rj45插座引脚定义

    RJ45是布线系统中信息插座(即通信引出端)连接器的一种,连接器由插头(接头、水晶头)和插座(模块)组成,插头有8个凹槽和8个触点。RJ是RegisteredJack的缩写,意思是“注册的插座”。在FCC(美国联邦通信委员会标准和规章)中RJ是描述公用电信网络的接口,计算机网络的RJ45是标准8位模块化接口的俗称。rj45插座引脚定义:常见的RJ45接口有两类:用于以太网网卡、路由器以太网接口等…

    2022年4月15日
  • 西门子scl语言和c语言,西门子SCL语言编程学习心得[通俗易懂]

    西门子scl语言和c语言,西门子SCL语言编程学习心得[通俗易懂]1、SCL程序可以在CPU314及其以上的S7(包含400)中运行。2、SCL程序建立在”S7Program”-”Sources”下面。S7-Program-Blocks(e.g.FB,OB)-Sources(e.g.SCLsourcefile)-Symbols3、程序结构FB:FUNCTION_BLOCKfb_nameEND_FUNCTION_BLOCKFC:FUNCTION…

    2022年10月7日
  • 转载:QT版本系列介绍[通俗易懂]

    转载:QT版本系列介绍[通俗易懂]
    一、Qt简介
    Qt工具包是一个跨平台的C++开发工具。Qt被主要用在了KDE桌面环境的开发中。它是挪威Trolltech公司的产品,2008年6月17日被芬兰的诺基亚(Nokia)公司收购,以增强该公司在跨平台软件研发方面的实力。
    使用Qt开发的软件,可以在任何支援的平台上编译与执行,而不需要修改源代码。可以实现本平台的图形界面风格,也可实现其它平台的图形界面风格。比如您可以在MicrosoftWindows平台下编译出具有苹果公司MacOS图形界面风格的应用程序。

    2022年5月16日
  • BigDecimal类型 比较大小的方法[通俗易懂]

    BigDecimal类型 比较大小的方法[通俗易懂]1.转成intBigDecimalb1=newBigDecimal(“-121454125453.145”);if(b1.intValue()<0){ System.out.println(“金额为负数!”); System.out.println(b1);}2.compareTo方法结果是:-1:小于;0:等于;1:大于;BigDecimalb1=newBigDecimal(“-121454125453.145”);if(b1.compar

    2022年7月14日
  • testlink安装教程_轻松吊安装

    testlink安装教程_轻松吊安装采用Xmapp的配置环境,TestLink轻松搞定!

    2022年9月18日
  • idea2021.3激活吗 30 天破解方法

    idea2021.3激活吗 30 天破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号