我正在尝试使用 CodeIgniter 上传类上传图像。这一直有效,直到几天前我注意到仅上传某些图像会导致问题。目前我正在使用名为“image.jpg”的图像测试问题。根据文件扩展名,该图像是一个 JPG 图像,它应该返回一个 mime 类型的“image/jpeg”。但是,由于某种原因,在上传此图像时,错误返回状态。
“您尝试上传的文件类型不被允许。”
我的配置相当简单,允许使用几种不同的图像类型,包括 JPG。
$config = array(
'allowed_types' => 'jpg|jpeg|gif|png',
'file_name' => $full,
'upload_path' => $path,
'max_size' => 5120
);
这里真正的踢球者是当我回显$this->upload->data()
返回时:
Array
(
[file_name] => image.jpg
[file_type] => image/png
[file_path] => /var/www/tmp/
[full_path] => /var/www/tmp/image.jpg
[raw_name] => image
[orig_name] =>
[client_name] => image.jpg
[file_ext] => .jpg
[file_size] => 50519
[is_image] => 1
[image_width] =>
[image_height] =>
[image_type] =>
[image_size_str] =>
)
有人知道为什么图像返回image/png
图像应该返回的文件类型image/jpeg
吗?
我已经检查过了,config/mimes.php
但一切似乎都是正确且有序的。任何帮助表示赞赏。提前致谢!
如果我将允许的类型设置为:allowed_types => '*'
它似乎可以工作,但我不想允许所有文件类型。这是 CodeIgniter 2.0 之前的问题。我当前运行的版本是 2.1.3,因此 2.0 的修复不相关,因为这在当前版本中被认为是“修复”的。