有一种简单的方法可以将文件链接转换为下载按钮吗?

时间:2012-11-08 03:18:50

标签: javascript jquery html

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

但是用户只需轻轻一点就可以轻松下载它吗?同时保持mp3格式。

谢谢!

4 个答案:

答案 0 :(得分:2)

您可以拥有为此目的指定target=_blank属性的基本html链接,

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

基本上没有什么可以在网页的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设置为“附件”,它就会显示“另存为”对话框以保存文件。

答案 3 :(得分:0)

您可以制作下载页面(PHP),并将其放在包含mp3文件的文件夹中。 在下载页面中写下:

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

使用mp3文件的真实名称重命名your_file.mp3。然后,只需将链接放到刚刚创建的下载页面即可。当您单击链接时,将下载文件。