一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - C#下載文件(TransmitFile/WriteFile/流方式)實例介紹

C#下載文件(TransmitFile/WriteFile/流方式)實例介紹

2019-10-23 13:37C#教程網 ASP.NET教程

C#下載文件想必很多業內人士都不會陌生吧,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.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(); 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费看国产一级特黄aa大片 | 97视频免费人人观看人人 | 黑人又大又硬又粗再深一点 | 校花被扒开尿口折磨憋尿 | 2021国产麻豆剧传媒新片 | 91果冻制片厂天美传媒 | 91制片厂制作传媒网站 | 亚洲国产精品久久卡一 | 亚洲国产果果在线播放在线 | 美女脱得一二净无内裤全身的照片 | 色婷婷久久综合中文久久一本` | 亚洲国产成人精品无码区99 | 欧美亚洲另类在线观看 | 国产成人无精品久久久久国语 | 亚洲精品午夜久久aaa级久久久 | 久久久无码精品无码国产人妻丝瓜 | 欧美高清在线精品一区 | 变态 另类 人妖小说 | 国产午夜亚洲精品一区网站 | 欧美久久久久久久一区二区三区 | 日韩操比视频 | 深夜日韩 | 亚洲午夜精品久久久久久成年 | 果冻传媒在线播放1 | 韩剧网3600热播剧 | 色五夜婷婷 | 女bbbbxxx孕妇| 高清男的插曲女的 欢迎你老狼 | 国产欧美日韩精品一区二区三区 | 日韩一级片在线观看 | 2022日韩理论片在线观看 | 亚洲AV精品无码喷水直播间 | 久久视热频国产这里只有精品23 | 国产黄色大片网站 | 日本黄大片影院一区二区 | 欧美一区二区三区四区五区六区 | 俄罗斯一级毛片免费播放 | 美女和男人免费网站视频 | 四虎影剧院| 91精品久久一区二区三区 | 91亚洲精品丁香在线观看 |