分類  >  WEB開發 >

連接至PDF文件的A標籤怎麼讓其點擊后彈出下載提示框

tags:    時間:2013-12-09 22:02:04
連接至PDF文件的A標籤如何讓其點擊后彈出下載提示框
問題描述:
關於a標籤的href屬性,一般連接至頁面,但用於文件的時候,往往會有些效果並不是某些用戶所需要的,例如,有些圖片連接用戶需求是點擊后彈出下載對話框來下載圖片,而不是打開此圖片的頁面后右鍵另存為,同樣對於pdf文件,如果本地已經安裝了adobe reader軟體,默認會在該閱讀器中打開文件,而非彈出對話框提示用戶下載。如何不改變客戶端的設置,用程序來解決某些情況下需要直接下載而非打開,請問如何書寫?是JS端實現還是服務端實現?

在網上有找到關於圖片打開的案例,頁面代碼如下,基本是用js代碼實現的
<iframe height="0" width="0" src="123.jpg" name="saveImage" id="saveImage"></iframe>
<a href="#" onclick="saveImage.document.execCommand('saveAs');">Click Me</a> 
放到IE8下測試通過
但該端代碼的問題在於
1.在firefox下無法實現,因execCommand不兼容firefox
2.無法用於pdf文件,即使在IE下,把iframe中的src換成123.pdf,瀏覽器則報錯,報錯信息是:不支持此介面
沒有在更高版本的IE下測試

服務端代碼方面也無從著手,感覺直接用服務端代碼讀取一個pdf文件后按pdf文件的格式(MIME格式,似乎是這個,但具體怎麼寫不清楚)輸出或許可行。但具體不知道怎麼實現。

------解決方案--------------------
伺服器端設置請求回復頭設置為:application/octet-stream,讓瀏覽器調用下載對話框 具體的您可以去搜索。

推薦閱讀文章

Bookmark the permalink ,來源:互聯網