最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net C#實現(xiàn)下載文件的六種方法實例

 更新時間:2013年04月18日 11:23:49   作者:  
asp.net C#實現(xiàn)下載文件的六種方法實例,需要的朋友可以參考一下

復制代碼 代碼如下:

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

  //以字符流的形式下載文件
  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();

  } 

相關文章

  • asp.net core 多文件分塊同時上傳的組件

    asp.net core 多文件分塊同時上傳的組件

    分享一個可多個文件同時上傳、斷點續(xù)傳,并實時反饋上傳進度的 Asp.Net core 組件,本文通過實例代碼對asp.net core 多文件分塊同時上傳的組件知識介紹的非常詳細,感興趣的朋友一起看看吧
    2023-12-12
  • .NetCore?MemoryCache使用詳解

    .NetCore?MemoryCache使用詳解

    這篇文章主要介紹了.NetCore?MemoryCache使用,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • .NET 8 強大功能 IHostedService 與 BackgroundService 實戰(zhàn)教程

    .NET 8 強大功能 IHostedService 與 Backgr

    .NET 8 中的 IHostedService 和 BackgroundService 提供了強大的工具集,使定時任務、后臺處理以及定期維護等功能的實現(xiàn)變得更加直接、高效和靈活,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • 學習制作MVC4分頁控件(下)

    學習制作MVC4分頁控件(下)

    這篇文章主要教大家學習制作MVC4分頁控件,自己動手編寫HtmlHelper-Pager分頁控件,感興趣的小伙伴們可以參考一下
    2016-08-08
  • C# SetCursorPos簡介及使用說明

    C# SetCursorPos簡介及使用說明

    該函數(shù)把光標移到屏幕的指定位置,如果新位置不在由ClipCursor函數(shù)設置的屏幕矩形區(qū)域之內(nèi),則系統(tǒng)自動調(diào)整坐標,使得光標在矩形之內(nèi)
    2012-12-12
  • .net 讀取非標準配置文件的小例子

    .net 讀取非標準配置文件的小例子

    這篇文章介紹了.net 讀取非標準配置文件的小例子,有需要的朋友可以參考一下
    2013-07-07
  • 運用.net core中實例講解RabbitMQ

    運用.net core中實例講解RabbitMQ

    RabbitMQ是實現(xiàn)了高級消息隊列協(xié)議(AMQP)的開源消息代理軟件(亦稱面向消息的中間件),本文詳細講解了RabbitMQ以及運用.net core中實例講解其6中模式,感興趣的小伙伴一起來學習吧
    2021-09-09
  • ASP.NET實現(xiàn)301重定向方法

    ASP.NET實現(xiàn)301重定向方法

    我們給大家整理了關于ASP.NET中實現(xiàn)301重定向的方法以及小技巧總結(jié),有興趣的朋友可以操作試試。
    2018-04-04
  • .NET RulesEngine(規(guī)則引擎)的使用詳解

    .NET RulesEngine(規(guī)則引擎)的使用詳解

    這篇文章主要介紹了.NET RulesEngine(規(guī)則引擎)的使用詳解,幫助大家更好的理解和學習使用.net技術,感興趣的朋友可以了解下
    2021-05-05
  • Json日期格式問題的四種解決方法(超詳細)

    Json日期格式問題的四種解決方法(超詳細)

    這篇文章主要介紹了Json日期格式問題的四種解決方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03

最新評論

渭源县| 临湘市| 蓝田县| 黎平县| 闽侯县| 重庆市| 周宁县| 石家庄市| 邢台县| 攀枝花市| 南川市| 茌平县| 河东区| 高尔夫| 唐海县| 琼中| 社会| 万全县| 浑源县| 延长县| 特克斯县| 驻马店市| 青川县| 溆浦县| 丰镇市| 安龙县| 桐庐县| 招远市| 东港市| 福海县| 华阴市| 乌拉特后旗| 沙坪坝区| 汝南县| 洱源县| 余姚市| 阳春市| 南开区| 商河县| 赤壁市| 蒲城县|