携帯電話からmp3ファイルを動的にダウンロードできるWebページがあります。ドリルでは、動的に生成されたリンクが携帯電話に送信されます(例: http: //mysvr.com/downloads/676877897/ )。リンクをクリックすると、サーバーはリンクパラメータを使用して適切なファイルを取得し、ファイルをに送信します。ダウンロード用のブラウザ。
ダウンロードはデスクトップまたはラップトップブラウザで非常にうまく機能します。つまり、ダウンロードダイアログがポップアップし、[保存]をクリックすると、適切なファイルのダウンロードに進みます。そこまで、物事はクールです。
モバイルブラウザで同じリンクを試したときに問題が発生します。ダウンロードリンク付きのファイルをダウンロードするためのテキストプロンプトが表示されますが、ダウンロードされるのは16kbのファイルのみで、その後、「無効なファイル形式」という叫び声が表示されます。
携帯電話から直接ファイルダウンロードリンクを試してみると、うまくいきます!例: http: //mysvr.com/ringtones/myfile.mp3、ファイルはうまく再生されます。
送信しているヘッダーは次のとおりです。不足しているモバイルブラウザに必要なものはありますか?前もって感謝します。
header("Content-Type: application/force-download");
header('Content-type: audio/mpeg');
header('Content-Description: File Download');
header('Content-Disposition: attachment; filename=' . $mp3);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;