Javascript 有没有一种简单的方法可以将文件链接变成下载按钮?

Javascript 有没有一种简单的方法可以将文件链接变成下载按钮?,javascript,jquery,html,Javascript,Jquery,Html,例如,一个mp3文件,很容易让用户用浏览器打开它,或者通过右键单击和左键单击“另存链接为”来保存它 但是有没有一种简单的方法让用户只需点击左键就可以下载它呢?同时保持mp3格式 谢谢 您可以在浏览器上安装Greasemonkey,并在Greasepot上查找可以将mp3文件更改为可下载按钮的脚本 您可以为此目的指定带有target=\u blank属性的基本html链接 <a href="http://www.mysite.com/music.mp3" target="_blank">

例如,一个mp3文件,很容易让用户用浏览器打开它,或者通过右键单击和左键单击“另存链接为”来保存它

但是有没有一种简单的方法让用户只需点击左键就可以下载它呢?同时保持mp3格式


谢谢

您可以在浏览器上安装Greasemonkey,并在Greasepot上查找可以将mp3文件更改为可下载按钮的脚本

您可以为此目的指定带有
target=\u blank
属性的基本html链接

<a href="http://www.mysite.com/music.mp3" target="_blank">Download Link</a>

在网页的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
设置为“附件”,它将显示一个“另存为”对话框来保存文件。

您可以创建下载页面(PHP),并将其与mp3文件一起放在文件夹中。 在下载页面中写下以下内容:

<?
header('Content-disposition: attachment; filename= your_file.mp3);
readfile(your_file.mp3);
?>