0

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

但是有没有一种简单的方法让用户通过简单的左键单击来下载它?同时保持 mp3 格式。

谢谢!

4

4 回答 4

2

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

<a href="http://www.mysite.com/music.mp3" target="_blank">Download Link</a>
于 2012-11-08T03:40:21.067 回答
0

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

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

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

于 2012-11-08T04:27:14.347 回答
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设置为“附件”,它就会显示“另存为”对话框来保存文件。

于 2012-11-08T03:51:43.670 回答
0

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

于 2012-11-08T03:26:02.940 回答