簡體   English   中英

有一種簡單的方法可以將文件鏈接轉換為下載按鈕嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM