代码点火器:MP4视频上传不起作用


Codeigniter: MP4 Video Upload not working

我正在研究一个问题很长时间,但仍然找不到任何解决方案。

我正在使用代码点火器上传mp4文件。在此之前,我在config/mimes.php中添加了mp4的mime类型。我都试过了: mp4 => video/mp4 mp4 => array('video/mp4', 'video/3gpp')

这两种方法在本地服务器中都很完美,但是每当我在实时服务器上对其进行测试时,它总是会给出相同的错误消息"您尝试上传的文件类型是不允许的。

我又尝试了一件事。 $config['allowed_types'] = "*";

它在本地和在线服务器中都完美运行。

但我只想要mp4视频类型。

有人对这个奇怪的问题有一些解决方案吗?

终于我得到了我的问题的解决方案,所以我正在写这个答案。

大多数情况下,

本地和在线服务器中对 MIME 类型的检测是不同的。

就我而言,本地服务器被file_type为"视频/mp4"。但是在线服务器将 MIME 类型检测为"应用程序/八位字节流"。

所以我在我的配置文件夹的 mime 类型列表中添加了两者:

'mp4' => array('video/mp4', 'application/octet-stream'),

现在它在本地和在线服务器中都能完美运行。

如果一切都不起作用,请像这样重新排列允许的类型顺序,将视频格式放在第一位:

$config['allowed_types'] = 'mp4|jpg|png|'

它适用于我的情况。

当我们上传扩展名为 mp4 的视频时,我依赖于视频哑剧文件类型,但在 CodeIgniter 上传库中使用 php 函数finfo_file通过此功能检测file_type,我们得到了其他file_type。我得到视频/3gpp

所以我改变了配置/哑剧.php

'mp4' => array('video/mp4', 'video/3gpp'),

它对我有用。

谢谢