2011-03-31 11 views
0

私は是非、ウェブ開発者ではありません。しかし、私は誰かが自分のサーバーからビデオを配信するのを手伝っています。基本的にユーザーがウェブサイト上のボタンをクリックすると、ユーザーはビデオをダウンロードするように求められます。だから、しばらくの間、グーグルでの後、私は、コンテンツ配置を使用して、短い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です。

私は問題があることを期待してコンテンツタイプをかなり使い果たしました。私は "video/mpeg"と "application/force-download"を使い、どちらも働かなかった。

私は書いていないことがありますか? 2つの問題は関連していますか?私はこれとは別の方法で行くべきですか?どのような入力をありがとう。

答えて

1

AndroidブラウザにContent-disposition:と関連するヘッダーが表示されません。私は問題のファイルへの単純なリダイレクトを推奨します。

+1

返信いただきありがとうございます。実際に私たちが必要としていたのは、.htaccessファイルを " ForceTypeビデオ/ mp4 ヘッダセットのContent-Disposition添付ファイル "で追加/変更することだけでした。それはあなたが意味するものかもしれませんが、私はウェブの内容についてあまり知らないので、正しい用語を知らないのです。ありがとう。 – Brian

関連する問題