你好,我正在構建一個網站,我可以上傳我自己的MP3文件。 所以我有文件上傳到服務器,當我鏈接到它的瀏覽器播放歌曲。 當鏈接按下下載文件而不是播放時,是否可以這樣做?可下載的MP3文件
例如www.example.com/music/song.mp3一旦點擊下載而不是播放。
也許這可以在JavaScript中完成?
非常感謝。
你好,我正在構建一個網站,我可以上傳我自己的MP3文件。 所以我有文件上傳到服務器,當我鏈接到它的瀏覽器播放歌曲。 當鏈接按下下載文件而不是播放時,是否可以這樣做?可下載的MP3文件
例如www.example.com/music/song.mp3一旦點擊下載而不是播放。
也許這可以在JavaScript中完成?
非常感謝。
您需要設置正確的標題爲您的MP3文件。你可以在你的網絡服務器的配置中做到這一點,或者你可以製作一個「下載」腳本來發送正確的頭文件和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');
?>
非常感謝。這工作完美。 – DonJuma 2010-10-13 10:37:04
強制下載的最簡單方法是將文件的Content-Type標頭設置爲application/octet-stream
。儘管如此,您仍需要在服務器端完成此操作。與PHP或類似的。
您可以通過發送content-disposition
標題來告訴瀏覽器如何處理文件。這將完成服務器端,無論你提供的MP3文件。
幾個指針。
可以完成文件上傳,例如,使用PHP。請參閱PHP手冊中的handling file uploads,但需要注意:如果要正確執行此操作,您需要進行大量的學習。
要在瀏覽器中播放MP3文件,最好的選擇是基於Flash/JS的可調整風格的播放器ike jPlayer。
要使MP3文件可下載,請構建一個服務器端腳本,以發送@Piskvor和@Jan建議的正確標題。
我認爲更好的方法,而不是必須爲下載代碼PHP將如下所示。
假設你的主機使用的是Apache,在你的音樂目錄下創建一個.htaccess文件,其內容如下:
<Files *.mp3>
ForceType application/octet-stream
Header set Content-Disposition attachment
</Files>
這實現了同樣的事情,但PHP將適用於所有MP3文件。
這是一個非常廣泛的問題。無論如何,它不能使用純Javascript來完成。您將需要服務器端語言,並在此處指定您可以使用哪一種語言。 – 2010-10-13 10:23:24
如果它是您熟悉的語言,則可以使用JavaScript來完成,使用類似node.js(http:// nodejs .org)在服務器端。 – 2010-10-13 15:27:46