从Android浏览器下​​载文件的脚本

时间:2011-03-31 19:37:44

标签: php android download content-disposition

我不是一个网络开发者。但我试图帮助某人从他们的服务器传送视频。基本上当用户点击网站上的按钮时,我们希望提示用户下载视频。所以在谷歌搜索了一段时间后,我想出了如何使用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);
?>

因此网站上的按钮指向此脚本。 PC浏览器似乎开始下载没有问题。但这主要集中在Android手机上。当您单击以在默认Android浏览器上下载文件时,它将失败并且所有内容都显示为“Download Unsuccessful”。

另一件事是,在我的电脑上(使用Firefox),下载开始,大约200MB,它就停止了。它没有显示出任何失败的迹象,它看起来就像下载完了。实际文件大小约为1GB。

我已经玩了很多内容类型,希望这是问题所在。我使用了“video / mpeg”和“application / force-download”,它们都没有用。

有没有我写的东西?这两个问题可能有关系吗?我应该采取不同的方式吗?感谢您的任何意见。

1 个答案:

答案 0 :(得分:1)

Android浏览器似乎不喜欢Content-disposition:及相关标头。我建议只是简单地重定向到相关文件。