asp.net + c#如何实现下载文件

介绍

这篇文章主要介绍asp.net + c#如何实现下载文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

代码如下:

 

保护无效Button1_Click(对象发送方,EventArgs e)
,{
,/*
,微软为响应对象提供了一个新的方法的TransmitFile来解决使用Response.BinaryWrite
,下载超过400 mb的文件时导致Aspnet_wp.exe进程回收而无法成功下载的问题。
,代码如下:
,*/

,响应。ContentType=坝τ贸绦?x-zip-compressed";
,Response.AddHeader (“Content-Disposition",“附件文件名=z.zip");
,字符串文件名=Server.MapPath(“下载/aaa.zip");
,Response.TransmitFile(文件名);
,}

,//WriteFile实现下载
,保护无效Button2_Click(对象发送方,EventArgs e)
,{
,/*
,使用先;

,*/

,字符串文件名=癮aa.zip"//客户端保存的文件名
,字符串filePath=Server.MapPath(“下载/aaa.zip");//路径

,FileInfo FileInfo=new FileInfo (filePath);
,Response.Clear ();
,Response.ClearContent ();
,Response.ClearHeaders ();
,Response.AddHeader (“Content-Disposition",“附件文件名=?+文件名);
,Response.AddHeader (“Content-Length" fileInfo.Length.ToString ());
,Response.AddHeader (“Content-Transfer-Encoding",“binary");
,响应。ContentType=坝τ贸绦?octet-stream";
,响应。ContentEncoding=System.Text.Encoding.GetEncoding (“gb2312");
,Response.WriteFile (fileInfo.FullName);
,Response.Flush ();
,Response.End ();
,}

,//WriteFile分块下载
,保护无效Button3_Click(对象发送方,EventArgs e)
,{

,字符串文件名=癮aa.zip"//客户端保存的文件名
,字符串filePath=Server.MapPath(“下载/aaa.zip");//路径

,先。FileInfo FileInfo=new System.IO.FileInfo (filePath);

,如果(fileInfo。存在==true)
,{
,const长ChunkSize=102400;//100 k每次读取文件,只读取100 k,这样可以缓解服务器的压力
,缓冲区byte[]=新的字节(ChunkSize);

,Response.Clear ();
,先。iStream FileStream=System.IO.File.OpenRead (filePath);
,长dataLengthToRead=iStream.Length;//获取下载的文件总大小
,响应。ContentType=坝τ贸绦?octet-stream";
,Response.AddHeader (“Content-Disposition"“依恋;文件名=?+ HttpUtility.UrlEncode(文件名));
,而(dataLengthToRead比;0,,Response.IsClientConnected)
,{
,int lengthRead=iStream。读(缓冲区,0,Convert.ToInt32 (ChunkSize));//读取的大小
,Response.OutputStream。写(缓冲区,0,lengthRead);
,Response.Flush ();
,dataLengthToRead=dataLengthToRead - lengthRead;
,}
,Response.Close ();
,}
,}

,//流方式下载
,保护无效Button4_Click(对象发送方,EventArgs e)
,{
,字符串文件名=癮aa.zip"//客户端保存的文件名
,字符串filePath=Server.MapPath(“下载/aaa.zip");//路径

,//以字符流的形式下载文件
,fs=new FileStream文件流(filePath FileMode.Open);
,byte[]新字节字节=[(int) fs.Length];
,fs。读(字节0 bytes.Length);
,fs.Close ();
,响应。ContentType=坝τ贸绦?octet-stream";
,//通知浏览器下载文件而不是打开
,Response.AddHeader (“Content-Disposition"“依恋;文件名=?+ HttpUtility。UrlEncode(文件名,System.Text.Encoding.UTF8));
,Response.BinaryWrite(字节);
,Response.Flush ();
,Response.End ();

,},

c#是什么

c#是一个简单,通用,面向对象的编程语言,它由微微软软开发,继承了C和c++强大功能,并且去掉了一些它们的复杂特性,c#综合了VB简单的可视化操作和c++的高运行效率,以其强大的操作能力,优雅的语法风格,创新的语言特性和便捷的面向组件编程从而成为。净开发的首选语言,但它不适用于编写时间急迫或性能非常高的代码,因为c#缺乏性能极高的应用程序所需要的关键功能。

以上是“asp.net + c#如何实现下载文件”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

asp.net + c#如何实现下载文件