2011-03-31 74 views
0

我不是一個Web開發人員。但我試圖幫助某人從他們的服務器上傳送視頻。基本上,當用戶點擊網站上的按鈕時,我們希望提示用戶下載視頻。所以,谷歌搜索了一會兒後,我想出如何使用內容處置寫一個簡短的PHP腳本:腳本從Android瀏覽器下​​載文件

<?php 
$fn = 'videoFile.mp4'; 

header("Pragma: public"); 
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Cache-Control: private",false); 
header('Content-Description: File Transfer'); 
header('Content-type: video/mp4'); 
header('Content-Length: '.filesize($fn)); 
header('Content-disposition: attachment; filename='.$fn); 
readfile($fn); 
?> 

所以網站上的指向該腳本的按鈕。 PC瀏覽器似乎開始下載沒有問題。但是這主要關注的是Android手機。當您單擊以在默認Android瀏覽器上下載文件時,它會失敗,並且它所說的是「下載不成功」。

另一件事是,在我的電腦上(使用Firefox),下載開始,大約200MB,它只是停止。它沒有顯示任何失敗的跡象,它看起來像它完成下載。實際的文件大小約爲1GB。

我已經玩了很多內容類型,希望這是問題所在。我用「視頻/ MPEG」和「應用程序/強制下載」,他們都沒有工作。

有沒有我沒有寫的東西?這兩個問題有關係嗎?我應該以不同的方式來解決這個問題嗎?感謝您的任何意見。

回答

1

Android瀏覽器似乎不喜歡Content-disposition:和相關標頭。我建議只是一個簡單的重定向到有問題的文件。

+1

感謝您的回覆。實際上,我發現我們需要的是使用「 ForceType video/mp4 標頭集Content-Disposition附件 」添加/修改.htaccess文件。這可能是你的意思,我不太瞭解網絡的東西,所以我不知道正確的術語。謝謝。 – Brian 2011-03-31 21:43:24