2012-08-13 149 views
1

我有一個播放列表中的每一個表單旁邊有一個鏈接某些MP3文件:鏈接給力的MP3文件下載到默認的下載文件夾

<a href="/music/track1.mp3"></a> 

用戶可以右鍵點擊鏈接並選擇「下載鏈接文件」(或瀏覽器中的等效選項)。

我想是什麼文件,當用戶的鏈接(即一個標準的左擊),而不是通過點擊自動下載的「另存爲」對話框,而是爲他們的瀏覽器用戶的默認下載文件夾。

什麼將是實現這一目標的最簡單的方法?

+0

無法完成。如果任何瀏覽器允許的話,我會認爲它已損壞。 – 2012-08-13 13:56:21

回答

1

你需要配置你的服務器添加Content-Disposition attachment到HTTP標頭。 Here是關於如何使用Apache進行操作的說明。

米奇薩馳威爾說,你也可以用服務器端語言,即在低級別不夠所以操作可以通過修改HTTP頭做到這一點。

+0

謝謝,將'FilesMatch'添加到我的.htaccess中很好地做到了這一點,並且爲了與用戶設置進行下載一起工作, – Nick 2012-08-13 15:17:13

0

如果用戶設置自己的瀏覽器提示所有下載的,我不相信這是可能的。

0

這將引發許多紅旗與所有最新的瀏覽器。
文件下載通過保存功能來管理,以保證下載文件時的安全性。
如果你可以下載onclick到一個文件夾什麼是阻止你沒有點擊下載?

然而,如果你仍然想實現這一點,你將不得不使用像Flash或ActiveX但是這些一屆黨部件將首先要求用戶授予你特權時(信任)。

1

使用服務器端語言,您可以設置Content-Disposition標題以在用戶單擊鏈接時強制下載,但是您無法控制瀏覽器以及文件存儲在用戶計算機上的位置,這取決於個人用戶設置。

0

您需要控制請求來執行此操作。根據您的Web服務器技術,有多種方法可以完成。你想要做的是將'Content-Disposition'HTTP頭部設置爲'attachment';文件= somefile」。這告訴瀏覽器下載這個文件而不是'打開'它(如果可以的話)。一個像c#這樣的例子是:

response.AddHeader("Content-Disposition", "attachment; filename=downloadThisAudio.mp3")); 

但是你可以通過配置在IIS和Apache中完成這個。有點搜索我認爲你可以找到如何設置這個標題爲MP3的唯一,甚至有條件(如每個目錄,或當查詢參數存在)。