国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net C#實現下載文件的六種方法實例

2024-07-10 12:45:41
字體:
來源:轉載
供稿:網友

代碼如下:
protected void Button1_Click(object sender, EventArgs e)
  {
  /*
  微軟為Response對象提供了一個新的方法TransmitFile來解決使用Response.BinaryWrite
  下載超過400mb的文件時導致Aspnet_wp.exe進程回收而無法成功下載的問題。
  代碼如下:
  */

  Response.ContentType = "application/x-zip-compressed";
  Response.AddHeader("Content-Disposition", "attachment;filename=z.zip");
  string filename = Server.MapPath("DownLoad/aaa.zip");
  Response.TransmitFile(filename);
  }

  //WriteFile實現下載
  protected void Button2_Click(object sender, EventArgs e)
  {
  /*
  using System.IO;

  */

  string fileName ="aaa.zip";//客戶端保存的文件名
  string filePath=Server.MapPath("DownLoad/aaa.zip");//路徑

  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.zip";//客戶端保存的文件名
  string filePath = Server.MapPath("DownLoad/aaa.zip");//路徑

  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.zip";//客戶端保存的文件名

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东丽区| 大同县| 淳安县| 横峰县| 班戈县| 额济纳旗| 仪陇县| 阜南县| 独山县| 甘泉县| 漳州市| 承德县| 嘉定区| 武冈市| 新平| 灌南县| 贡觉县| 高青县| 浦东新区| 板桥市| 富宁县| 邵东县| 囊谦县| 门源| 清徐县| 海林市| 和平区| 孟津县| 阜康市| 江西省| 五莲县| 元阳县| 聊城市| 区。| 康保县| 慈利县| 环江| 华容县| 定襄县| 禹城市| 会昌县|