我正在使用CodeIgniter创建上传表单,并且我正在使用.APK扩展名上传文件。在我的控制器中,我使用了 *正在工作的 *,但我想允许唯一的APK文件。
$config['allowed_types'] = '*';
任何人都可以帮助我使用示例代码创建自定义MIME类型。
我希望回答这个问题还为时不晚!
我正在实施类似的事情,并遇到了同一问题!经过一些关于Stackoverflow的研究后,我有了一个尝试和测试的答案。
正如 @phobia82正确地说,这是MIME类型的问题。在检查了一些浏览器和CodeIgniter 3.x之后,添加自定义MIME类型是有帮助的!另外,值得注意的是,APK文件具有2种MIME类型(根据我已经测试的内容)
| application/vnd.android.package-archive |
|-----------------------------------------|
| application/java-archive |
所以,goto config/mimes.php
并将其添加到数组
'apk' => array('application/vnd.android.package-archive','application/java-archive')
这就是我上传失败的原因。CodeIgniter检测到APK存档为Java存档,Apache Server将其检测为VND.ANDROID.PACKAGE-ARCHIVE。完成此操作后,您可以使用
$config['allowed_types'] = 'apk';
希望这会有所帮助!
在文档中,washe_types是指
与您允许的文件类型相对应的MIME类型 上传。通常,文件扩展名可以用作MIME类型。能 要么是阵列或管道分离的字符串。
因此您可以使用:
$config['allowed_types'] = 'apk';
如果您想更具体并检查实际的MIME类型,则为APK,这是
application/vnd.android.package-archive
$config['allowed_types'] = 'apk';
您可以使用此。
它可以正常工作。
谢谢。