我绝对不是网络开发人员。但我正在尝试帮助某人从他们的服务器传送视频。基本上,当用户单击网站上的按钮时,我们希望提示用户下载视频。所以在谷歌搜索了一段时间后,我想出了如何使用 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 浏览器上单击下载文件时,它会失败,并且只显示“下载不成功”。
另一件事是,在我的电脑(使用 Firefox)上,下载开始,大约 200MB,它就停止了。它没有显示任何失败的迹象,它只是看起来已经完成下载。实际文件大小约为 1GB。
我已经玩了很多内容类型,希望这就是问题所在。我使用了“video/mpeg”和“application/force-download”,但它们都不起作用。
有什么我没有写的吗?这两个问题可能相关吗?我应该以不同的方式解决这个问题吗?感谢您的任何意见。