1. 程式人生 > >通過一般處理程式實現【檔案下載】

通過一般處理程式實現【檔案下載】

伺服器程式碼:
//在下載之前可以做許可權驗證,積分判斷等,如果條件滿足了,則提供下載,否則提示使用者許可權不足或許可權不夠,不允許下載。
//獲取要下載的檔名稱
string fileName = context.Request.QueryString["filename"];
//拼接檔案路徑
string url = "~/files/" + fileName;
//在響應使用者前,設定響應報文頭,告訴瀏覽器,如何處理當前的內容,是一個附件,需要下載
//HttpUtility.UrlEncode這句是解決檔名是中文是亂碼問題
context.Response.AddHeader("Content-Disposition", string.Format("attachment;filename=\"{0}\"",HttpUtility.UrlEncode( fileName)));

//從磁碟中讀取對應的檔案,並反應給使用者
context.Response.WriteFile(url);
客戶端程式碼://注意這個直接新增檔名即可,路徑在一般處理程式就獲取到了。
<ul>
<li><a href="DownLoad.ashx?filename=0.gif">0.gif</a></li>
<li><a href="DownLoad.ashx?filename=1.png">1.png</a></li>
<li><a href="DownLoad.ashx?filename=2.cs">2.cs</a></li>
<li> <a href="DownLoad.ashx?filename=3.zip">3.zip</a></li>
<li> <a href="DownLoad.ashx?filename=哈哈.txt">哈哈.txt</a> </li>
</ul>

相關推薦

通過一般處理程式實現檔案下載

伺服器程式碼: //在下載之前可以做許可權驗證,積分判斷等,如果條件滿足了,則提供下載,否則提示使用者許可權不足或許可權不夠,不允許下載。 //獲取要下載的檔名稱 string fileName = context.Request.QueryString

asp.net使用一般處理程序實現文件下載

cat char byte dispose gif urn adf bsp 解決 首先有一個html頁面,頁面有一個鏈接,點擊鏈接彈出文件下載/保存(類似迅雷下載鏈接) <!DOCTYPE html> <html> <head> &l

Jquery EasyUI +Ajax +Json +一般處理程式 實現資料的前臺與後臺的互動 --- 善良公社專案

經過上一篇部落格,本節主要是來看實現的功能是後臺的資料通過json資料傳過來,前臺修改的資料再傳回資料庫之後頁面再次更新table中的資料;  圖示: 例項:前臺的程式碼 <%--表格顯示區--%> <table id="tt" " ti

吳裕雄--天生自然python學習筆記:python通過“任務計劃程式實現定時自動下載或更新執行 PM2.5 資料抓取程式資料

在 Windows 任務計劃程式中,設定每隔 30 分鐘自動抓取 PM2.5 資料,井儲存 在 SQLite 資料庫中 。     import sqlite3,ast,requests,os from bs4 import BeautifulSoup #cur_path=os

C# 一般處理程式下載檔案

利用一般處理程式下載檔案,會在很多時候用到,但是,這是一條不歸路啊,路上各種坑,不是亂碼就是下載不下來。同樣,今天我也踩上了這顆雷。還好,我是排雷兵,一樣一樣的排除 C# code  //檔案下載         public void downloadfile(HttpC

nginx記錄nginx+php-fpm實現檔案下載排坑的過程

先上一段程式碼,支援大檔案下載和斷點續傳,程式碼來源網際網路。 set_time_limit(0); // 省略取檔案路徑的過程,這裡直接是檔案完整路徑 $filePath = get_save_path() . $File['save_name']; $filePath = realpath($fil

通過JS獲取前臺資料,並向後臺一般處理程式傳遞

function AddTeachCourse() { //取得教師ID var strTeacherID = $("#hidFieldSaveTeacherID").val(); //alert("教師ID="+txtTeacherID); //取得課程ID var s

svc 報錯“由於擴充套件配置問題而無法提供您請求的頁面。如果該頁面是指令碼,請新增處理程式。如果應下載檔案,請新增 MIME 對映。“

問題: 系統沒有預設為 IIS 註冊 WCF 服務的 svc 檔案的 MIME 對映。 解決方法: 以管理員身份執行 cmd.exe 切換到目錄 C:\Windows\Microsoft.NET\Framework\v3.0\Windows Co

Not Found 由於擴充套件配置問題而無法提供您請求的頁面。如果該頁面是指令碼,請新增處理程式。如果應下載檔案,請新增 MIME 對映。

HTTP 錯誤 404.3 - Not Found 由於擴充套件配置問題而無法提供您請求的頁面。如果該頁面是指令碼,請新增處理程式。如果應下載檔案,請新增 MIME 對映。 執行:cmd,轉到C:\Windows\Windows Microsoft.Net \ Frame

svc 報“由於擴充套件配置問題而無法提供您請求的頁面。如果該頁面是指令碼,請新增處理程式。如果應下載檔案,請新增 MIME 對映。“的HTTP 錯誤 404.3 – Not Found

原因:系統沒有預設為IIS註冊WCF服務的svc檔案的MIME對映。 解決方法:管理員身份執行C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.e

檔案字尾與Mime型別對照表/由於擴充套件配置問題而無法提供您請求的頁面。如果該頁面是指令碼,請新增處理程式。如果應下載檔案,請新增 MIME 對映。

//文件檔案型別的 .ai application/postscript .eps application/postscript .exe application/octet-stream .doc application/vnd.ms-w

JAVA通過訪問頁面中的URL實現Http檔案下載到本地

如何通過訪問某一個網頁上的一個下載連結下載檔案到本地呢?我學習了一下,利用httpget1,httpResponse1來判斷網路是否連線訪問成功,又通過httpget2,httpResponse2來訪問下載連結實現檔案下載。 注意:在使用httpget2之前需使用語句“ h

C# 中WinForm 應用程式實現遠端檔案管理(上傳、下載)的種種問題——遠端伺服器返回錯誤

C# 中WinForm 應用程式實現遠端檔案管理(上傳、下載)的種種問題    WinForm可以通過C#語言提供的WebClient類的UploadFile和DownLoadFile函式實現檔案的上傳和下載功能,但是這也讓我嘗試到了使用這個函式時的辛酸,搞了整整一天才

一般處理程式中使用隱藏域來實現非Form表單元素上資料的改變

html程式碼: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <me

解決問題:由於擴充套件配置問題而無法提供您請求的頁面。如果該頁面是指令碼,請新增處理程式。如果應下載檔案,請新增 MIME 對映。

WindowServer2012伺服器,新增角色安裝完.netframework和iis之後,執行aspx頁面就報如下錯誤: HTTP 錯誤 404.3 - Not Found 由於擴充套件配置問題而無法提供您請求的頁面。如果該頁面是指令碼,請新增處理程式。如果應下載檔

使用Ajax和一般處理程序實現文件上傳與下載

chang header text har set filename 文件名 dem 獲取   1.使用HTML的input標簽     <input type="file" multiple="multiple" id="file_load" />   2

ashx一般處理程式

http://192.168.2.112/AjaxQueryService.ashx/LOGINVALIDATE?username=1&passwordlogin=1   .NET裡面webform的字尾是aspx WCF和WebService的字尾是asmx 然後

程式 - 實現一鍵複製功能

小程式 - 實現【一鍵複製】功能 為啥想起使用【一鍵複製】功能?因為個人小程式裡,不許加外連結,很是頭疼,就想到一鍵複製連結,這是我剛寫的一個減一的小程式: 使用【一鍵複製】: wxml 檔案: <view> 官網:<text selectable='true' bin

使用ashx一般處理程式,讀取不到Session的問題

public class RandomCode : IHttpHandler, System.Web.SessionState.IRequiresSessionState //這裡就是實現的介面     {         public v

通過FileReader和FileWriter實現複製檔案的方法。

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px } p.p3 { marg