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-Dispositionattachment;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-Dispositionattachment;filename= + fileName);
33asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.AddHeader(Content-Length, fileInfo.Length.ToString());
34asp.net response.ContentType 下载文件的四种方法「建议收藏」        Response.AddHeader(Content-Transfer-Encodingbinary);
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-Dispositionattachment; 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-Dispositionattachment;   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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java集合系列——Map之HashMap介绍(八)

    HashMap是基于哈希表的Map实现的的,一个Key对应一个Value,允许使用null键和null值,不保证映射的顺序,特别是它不保证该顺序恒久不变!也不是同步的。

    2022年2月26日
    61
  • JavaScript算法题整理

    JavaScript算法题整理1.获得两个数相除的商和余数console.log(10/3);//商:3.3333console.log(10%3);//余数:1//获得两个数相除的商和余数console.log(Math.floor(10/3));//13//Math.floor(向下取整)、Math.ceil(向上取整)、round(四舍五入)console.log(0.1+0.2);//在js中,尽量避免做小数点运算//如果有小数位的运算varsum=(0.1*100+0.2*100)/100;c

    2022年6月14日
    33
  • Codeforces Round #256 (Div. 2) D. Multiplication Table

    Codeforces Round #256 (Div. 2) D. Multiplication Table

    2022年1月9日
    39
  • TCP三次握手详解-深入浅出(有图实例演示)[通俗易懂]

    TCP三次握手详解-深入浅出(有图实例演示)[通俗易懂]TCP是属于网络分层中的传输层,因为OSI分为层,感觉太麻烦了,所以分为四层就好了,简单。分层以及每层的协议,如下两张图:TCP三次握手TCP三次握手简单如下图:TCP三次握手的过程描述:1.客户主动(activeopen)去connect服务器,并且发送SYN假设序列号为J,服务器是被动打开(passiveopen)2.服务器在收到SYN后,它…

    2022年6月28日
    25
  • 情商的研究

    情商EQ认识与提高情商(情绪、意志、性格、行为习惯组成的商数)情商(EmotionalQuotient)通常是指情绪商数,简称EQ,主要是指人在情绪、意志、耐受挫折等方面的品质,其包括导商(LQ)等。总的来讲,人与人之间的情商并无明显的先天差别,更多与后天的培养息息相关。它是近年来心理学家们提出的与智商相对应的概念。从最简单的层次上下定义,提高情商是把不能控制情绪的部分变为可以…

    2022年4月9日
    34
  • 什么是.so文件_安卓so文件作用

    什么是.so文件_安卓so文件作用so文件是Linux下的程序函数库,即编译好的可以供其他程序使用的代码和数据linux下何谓.so文件:用过windows的同学应该都知道.dll文件吧,这二者有什么共通之处呢,其实.so文件就跟.dll文件差不多 一般来说.so文件就是常说的动态链接库,都是C或C++编译出来的。与Java比较就是:它通常是用的Class文件(字节码) Linux下的.so文件时不能直接运行的,一般来讲,.so文件称为共享库那么.so文件是怎么用的呢?forexample:(1)动态库的编译.

    2022年9月19日
    3

发表回复

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

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