IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當前所在位置: 首頁網(wǎng)絡(luò)編程.Net編程 → ASP.NET 簡單下載的實現(xiàn)

ASP.NET 簡單下載的實現(xiàn)

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

  簡單頁面下載通過Response.WriteFile()函數(shù)將指定的文件直接寫入HTTP內(nèi)容輸出流。該方 法實現(xiàn)比較簡單,本例中通過函數(shù)FileDownload()實現(xiàn)文件的下載,代碼如下:

  private void FileDownload(string FullFileName)

  {

  FileInfo DownloadFile = new FileInfo(FullFileName);

  Response.Clear();

  Response.ClearHeaders();

  Response.Buffer = false;

  Response.ContentType = "application/octet-stream";

  Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(DownloadFile.FullName, System.Text.Encoding.UTF8));

  Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());

  Response.WriteFile(DownloadFile.FullName);

  Response.Flush();

  Response.End();

  }

  由于在代碼中使用了 FileInfo 類,必須在代碼的開始引用 System.IO 空間,引用代碼如下所示。

  using System.IO;

  FileInfo 類提供創(chuàng)建、復(fù)制、刪除、移動和打開文件的實例方法,并且?guī)椭鷦?chuàng)建FileStream對象。其中,Length屬性用來獲取當前文件的大小,F(xiàn)ullName 屬性獲取目錄或文件的完整目錄。

  FileDownload()函數(shù)實現(xiàn)的原理過程是,首先創(chuàng)建FileInfo類,通過該類獲取要下載文件的信息,最后通過 WriteFile()函數(shù)下載該文件。該方法面臨的問題是 WriteFile 方法使文件的二進制數(shù)據(jù)流向客戶端,它是一個出名的內(nèi)存占用狂,把整個文件載入服務(wù)器的RAM中來提供服務(wù)(實際上它甚至于會占用文件兩倍大小的空間)。對于大文件,這會引起服務(wù)內(nèi)存問題,并且可能重復(fù)ASP.NET過程。因此較大文件均使用高級下載方法。

關(guān)鍵詞標簽:ASP.NET

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 誅仙3飛升任務(wù)怎么做-誅仙3飛升任務(wù)流程最新2022 誅仙3飛升任務(wù)怎么做-誅仙3飛升任務(wù)流程最新2022 鐘離圣遺物推薦-原神鐘離圣遺物詞條 鐘離圣遺物推薦-原神鐘離圣遺物詞條 解決方法:應(yīng)用程序“DEFAULT WEB SITE”中的服務(wù)器錯誤 解決方法:應(yīng)用程序“DEFAULT WEB SITE”中的服務(wù)器錯誤 使用aspnet_regiis.exe 重新注冊.NET Framework 使用aspnet_regiis.exe 重新注冊.NET Framework

相關(guān)下載

    人氣排行 誅仙3飛升任務(wù)怎么做-誅仙3飛升任務(wù)流程最新2022 asp.net表單提交方法GET\POST 在ASP.NET中如何判斷用戶IE瀏覽器的版本 Asp.net中messagebox的實現(xiàn)方法 Asp.net中的web.config配置 在ASP.NET MVC中實現(xiàn)大文件異步上傳 asp.net獲取URL和IP地址 FileUpload上傳多文件出現(xiàn)錯誤的解決方法