2

我正在做一个需要视频下载功能的项目,截至目前,我的下载代码如下

 header("Cache-Control: public");
 header("Content-Description: File Transfer");
 header("Content-Disposition: attachment; filename=".$fileName);
 header("Content-Type: video/mp4");
 header("Content-Type: video/webm");
 header("Content-Type: video/flv");
 header("Content-Transfer-Encoding: binary");
 readfile($downloadUrl);

上面的代码工作正常。但问题是我的文件格式可以是任何类型,例如。.flv、.mp4、.3gp。

所以,我的问题是上面的代码需要为每种类型传递 Content-Type 。是否有我可以通过的通用 Content-Type 支持所有文件格式。

4

3 回答 3

4

在通常情况下,您可以只使用

header('Content-type: application/octet-stream')

发送特定的内容类型只是帮助客户端了解应该使用什么应用程序来打开传入的文件。由于您正在发送内容处置附件,因此无需打开文件。

于 2013-08-07T06:41:55.757 回答
3

是的:application/octet-stream。如果您对打开文件不感兴趣,则此 mime 类型会告诉浏览器该文件属于某种未指定类型,并且只能保存到磁盘。

于 2013-08-07T06:42:21.763 回答
0

做:

header("Content-Type: ".mime_content_type($downloadUrl));
于 2013-08-07T11:16:46.300 回答