你好,我正在构建一个网站,我可以上传自己的mp3文件。 所以我将文件上传到服务器,当我链接到它时,浏览器播放歌曲。 是否有可能在按下链接时这样做,它会下载文件而不是播放它。
例如www.example.com/music/song.mp3点击下载而不是播放。
也许这可以在JavaScript中完成?
非常感谢。
答案 0 :(得分:3)
您可以通过发送content-disposition
标头告诉浏览器如何处理文件。这可以在服务器端完成,无论你从哪里提供mp3文件。
答案 1 :(得分:1)
强制下载的最简单方法是将文件的Content-Type标头设置为application/octet-stream
。您需要在服务器端执行此操作,例如,用PHP或类似的东西。
答案 2 :(得分:1)
您需要为mp3文件设置正确的标题。您可以在Web服务器的配置中执行此操作,或者您可以创建一个“下载”脚本,该脚本将发送正确的标头以及mp3文件的内容
例如,如果你使用PHP,你可以做这样的事情(来自PHP手册):
<?php
// We'll be outputting a PDF
header('Content-type: audio/mpeg');
// It will be called file.mp3
header('Content-Disposition: attachment; filename="file.mp3"');
// The PDF source is in original.mp3
readfile('original.mp3');
?>
答案 3 :(得分:1)
我认为更好的方法,而不是为下载编写PHP代码如下。
假设您的网络托管服务商使用Apache,请在您的音乐目录中创建一个包含以下内容的.htaccess文件:
<Files *.mp3>
ForceType application/octet-stream
Header set Content-Disposition attachment
</Files>
这实现了与PHP相同的功能,但适用于所有mp3文件。
答案 4 :(得分:0)
一些指示。
可以完成文件上传,例如使用PHP。请参阅PHP手册中的handling file uploads,但要注意:如果你想要正确地学习,你需要学习很多东西。
要在浏览器中播放MP3文件,最好的选择是基于Flash / JS的可播放播放器jPlayer。
要使MP3文件可下载,请构建一个服务器端脚本,发送正确的标题,如@Piskvor和@Jan所建议的那样。