0

私は決してWeb開発者ではありません。しかし、私は誰かが彼らのサーバーからビデオを配信するのを手伝おうとしています。基本的に、ユーザーがWebサイトのボタンをクリックすると、ビデオをダウンロードするように求められます。それで、しばらくグーグルした後、content-dispositionを使用して短いphpスクリプトを書く方法を理解しました:

<?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);
?>

したがって、Webサイトのボタンはこのスクリプトを指しています。PCブラウザは問題なくダウンロードを開始しているようです。しかし、これの主な焦点はAndroid携帯用です。クリックしてデフォルトのAndroidブラウザにファイルをダウンロードすると、失敗し、「ダウンロードに失敗しました」とだけ表示されます。

もう1つは、私のコンピューター(Firefoxを使用)では、ダウンロードが開始され、約200MBで停止することです。失敗の兆候は見られず、ダウンロードが完了したように見えます。実際のファイルサイズは約1GBです。

それが問題になることを期待して、私はコンテンツタイプをかなりいじってみました。「video/mpeg」と「application/force-download」を使用しましたが、どちらも機能しませんでした。

私が書いていないことはありますか?2つの問題は関連している可能性がありますか?これについては別の方法で行う必要がありますか?ご入力いただきありがとうございます。

4

1 に答える 1

1

Content-disposition:Androidブラウザーは、関連するヘッダーを高く評価していないようです。問題のファイルへの単純なリダイレクトをお勧めします。

于 2011-03-31T20:35:20.560 に答える