[英]is there an easy way to turn a file link into a download button?
例如一個mp3文件,很容易讓用戶用瀏覽器打開它,或者通過右鍵單擊保存它,然后單擊保存鏈接。
但有一個簡單的方法讓用戶只需點擊一下就可以下載它嗎? 同時保持mp3格式。
謝謝!
你可以擁有為此目的指定的target=_blank
屬性的基本html鏈接,
<a href="http://www.mysite.com/music.mp3" target="_blank">Download Link</a>
您可以在瀏覽器上安裝Greasemonkey,並在Greasepot上查找可以將mp3文件更改為可下載按鈕的腳本。
在網頁的javascript中基本上沒有什么可以做的。 下載鏈接的工作方式是在服務器上設置HTTP標頭。 將常規資源更改為可下載資源的標頭是Content-disposition
。 具體而言,您需要將其發送為:
Content-Disposition: attachment; filename=music_file_name.mp3
這會強制瀏覽器執行“另存為”而不是嘗試顯示該文件。
顯然,如何設置此標頭取決於您的服務器或框架或編程語言或全部三個。 這是一個如何在PHP中執行此操作的示例:
http_send_content_disposition("music_file_name.mp3");
http_send_file("music_file_name.mp3");
請注意,HTML中的鏈接保持不變,無需進行任何更改。 您甚至可以使用表單提交下載:
<a href="music_file_name.mp3">Download</a>
<form action="music_file_name.mp3">
<input type="submit" value="Download">
</form>
瀏覽器如何請求文件並不重要。 只要Content-disposition
設置為“attachment”,它就會顯示“另存為”對話框以保存文件。
您可以制作下載頁面(PHP),並將其放在包含mp3文件的文件夾中。 在下載頁面寫這個:
<?
header('Content-disposition: attachment; filename= your_file.mp3);
readfile(your_file.mp3);
?>
使用mp3文件的真實名稱重命名your_file.mp3。 然后,只需將鏈接放到剛剛創建的下載頁面即可。 單擊鏈接時,將下載文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.