Asp.net C# 檔案下載,附件下載程式碼案例,不顯示檔案路徑
Asp.net C# 檔案下載,附件下載程式碼案例
本案例是以檔案流的方式將檔案下載到瀏覽器,瀏覽器自動彈出下載提示框,不顯示檔案絕對路徑,適合做積分下載等。
try { string fileid = ObjectHandlers.Get("fileid").ToString(); //獲取下載的檔案資訊 HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8"); Model.FileInfo modelFileInfo = bllFileInfo.GetFileByFileID(fileid); if (modelFileInfo != null) { System.IO.FileInfo downloadFile = new System.IO.FileInfo(HttpContext.Current.Server.MapPath("../" + modelFileInfo.FilePath)); if (downloadFile.Exists) { ///指定返回的是一個不能被客戶端讀取的流,必須被下載 HttpContext.Current.Response.ContentType = "application/octet-stream"; HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8"); ///新增頭資訊,為"檔案下載/另存為"對話方塊指定預設檔名 //Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName); HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(downloadFile.Name, System.Text.Encoding.UTF8)); ///是否要支援斷點續傳 HttpContext.Current.Response.AddHeader("Content-Range", "bytes 0-800/801"); ///新增頭資訊,指定檔案大小,讓瀏覽器能夠顯示下載進度 HttpContext.Current.Response.AddHeader("Content-Length", downloadFile.Length.ToString()); HttpContext.Current.Response.TransmitFile(downloadFile.FullName); //HttpContext.Current.Response.End(); HttpContext.Current.ApplicationInstance.CompleteRequest(); } else { string contentType = "text/html; charset=utf-8"; return Response.AsText("下載失敗,原始檔不存在!", contentType); } } else { string contentType = "text/html; charset=utf-8"; return Response.AsText("下載失敗,原始檔不存在!", contentType); } return null; } catch (Exception ex) { string contentType = "text/html; charset=utf-8"; return Response.AsText("系統異常導致下載失敗,請重新嘗試下載!", contentType); }
有問題可以進群提問~
由龐順龍最後編輯於:4年前
內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。
相關文章
- 檔案程式設計、檔案下載程式設計
- 檔案下載
- 設定手機郵件下載檔案路徑
- OSS實現檔案下載進度條顯示
- 檔案上傳/下載後臺程式碼
- ElementUI 下載檔案前後端程式碼UI後端
- 00、下載檔案
- Ajax 下載檔案
- js 檔案下載JS
- HttpClient 下載檔案HTTPclient
- JAVA檔案下載Java
- Response下載檔案
- FastApi下載檔案ASTAPI
- QQ 群檔案下載後過期時間顯示 undefinedUndefined
- 【CLI】使用 Curl 下載檔案實時進度條顯示
- SpringMVC檔案上傳下載(單檔案、多檔案)SpringMVC
- html如何根據檔案路徑顯示檔案內容(pdf)HTML
- javaWeb不生成臨時檔案實現壓縮檔案下載JavaWeb
- python之檔案下載Python
- 檔案上傳下載
- Flutter 下載檔案操作Flutter
- python 下載檔案demoPython
- 【ASP.NET Core】Blazor+MiniAPI完成檔案下載ASP.NETBlazorAPI
- 8.13 標頭檔案剖析:標頭檔案路徑(下)
- QT 檔案相對路徑載入QT
- .net 4.8 webApi 檔案下載部分程式碼記錄WebAPI
- 微信小程式檔案預覽和下載-檔案系統微信小程式
- 檔案下載(URL,文件流)
- CentOS 7映象檔案下載CentOS
- 檔案下載那點事
- 如何下載 Ubuntu 映象檔案?Ubuntu
- JAVA檔案上傳下載Java
- IDM下載度盤檔案
- Flutter實現檔案下載Flutter
- 使用 header 頭下載檔案Header
- 6.1檔案下載、讀取
- AJAX實現檔案下載----
- goroutine&waitgroup下載檔案GoAI