2014-03-27 133 views
1

好的;我一直在努力解決這個問題大約6個小時,現在我正在創建一個簡單的網站,您可以下載視頻和應用程序。下載按鈕不能下載MP4,但可以.exe

我有一個存儲視頻的標題和一塊它需要下載媒體的ID的數據庫。

我的問題是,當我嘗試下載的MP4文件格式,我收到了404錯誤說,它不能找到該文件。如果我將代碼中的擴展名替換爲.exe格式,它會找到該文件並詢問您是否想要保存或運行文件。

瀏覽器的URL顯示正確,因爲它應該與兩個文件,但只有.exe實際工作。任何想法或幫助將不勝感激。

下載按鈕的代碼是:

<div id="Media_download"> 
<a href="http://thor/classroom/Downloads/'.$row['media_id'].''.$row['title'].'.mp4" target="_blank"> 
<img class="Download_Button" src="images/download.jpg"></a> 
</div> 

我運行Windows服務器2008 R2作爲我的測試服務器,我使用的PHP版本5.3

我有root directory/downloads folder /this is where my mp4 files and .exe are,你可以在上面看到。

文件的名稱顯示爲media_id,title,extension;所以例如它會是 1ccleaner.exe或2rush.mp4

+0

您已經驗證URL您的預計路徑相匹配?因爲404是未找到的文件。 –

+0

@ElliottFrisch是的,他們都有相同的名稱,這兩個文件都在下載文件夾內,他們都有正確的媒體ID和URL內的標題,但只有.exe被發現 – user3387522

+0

你用什麼作爲網絡服務器? –

回答

4

我想,當您使用Windows來承載您的應用程序使用IIS。 您是否已將正確的MIME類型添加到您的IIS配置中?

您應該添加MP4作爲MIME映射視頻/ MP4:

從(https://stackoverflow.com/a/6182060/1210773

  1. 信息選擇的網站在IIS中配置
  2. 點擊右鍵選擇屬性
  3. 選擇HTTP頭選項卡
  4. 選擇在MIME映射部分
  5. CH文件類型輸入新類型.mp4作爲擴展名和視頻/ mp4作爲mime類型
  6. 選擇確定。

若仍無變化,然後重新啓動IIS。

關於下載,而不是在新標籤中打開,HTML5有一個新的下載屬性: http://www.w3schools.com/tags/att_a_download.asp

+0

謝謝,這是完全正確的,我添加到服務器的MIME類型,並重新啓動它允許我下載文件= D – user3387522

1

很有可能瀏覽器試圖播放mp4文件,而不是提示用戶下載它(與使用.exe一樣)。它打開一個新窗口(target="_blank"),然後嘗試導航到Web根目錄之外的位置(http://thor/classroom/Downloads...)。如果您指示用戶右鍵單擊並選擇「另存爲」,那麼它可能會按照您的預期工作。

你可能會在這裏找到一些其他有用的信息:social.msdn.microsoft.com

+1

這沒有任何意義。 –

+0

@GeraldSchneider什麼是沒有道理的? – user3387522

+0

整個答案。 –