You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter无法上传STEP/STP/IGES等格式3D文件如何解决?

CodeIgniter 3D格式文件上传失败排查解决方案

1 补全允许上传的后缀配置

你当前代码里$config['allowed_types']仅配置了step格式,需要把所有需要支持的后缀全部添加:

$config['allowed_types'] = 'gif|jpg|png|pdf|step|stp|iges|igs|sldprt|3dm|sat|x_t';

2 配置MIME类型映射

CodeIgniter上传类会校验文件后缀和MIME类型的对应关系,默认/application/config/mimes.php中没有这些工业3D格式的映射规则,需要手动在该文件中添加以下配置:

'step'  => array('application/step', 'application/x-step', 'model/step', 'application/octet-stream'),
'stp'   => array('application/step', 'application/x-step', 'model/step', 'application/octet-stream'),
'iges'  => array('model/iges', 'application/iges', 'application/x-iges', 'application/octet-stream'),
'igs'   => array('model/iges', 'application/iges', 'application/x-iges', 'application/octet-stream'),
'sldprt'=> array('application/sldprt', 'application/x-sldprt', 'application/octet-stream'),
'3dm'   => array('application/x-3dm', 'model/3dm', 'application/octet-stream'),
'sat'   => array('application/sat', 'application/x-sat', 'application/octet-stream'),
'x_t'   => array('application/x-t', 'model/x_t', 'application/octet-stream'),

注:添加application/octet-stream是为了兼容部分客户端/服务器识别不出特殊格式MIME时,默认返回二进制流的场景,避免校验失败。

3 调试校验实际MIME类型

如果配置完以上内容还是报错,可以在上传方法开头添加临时调试代码,输出上传文件的真实MIME类型,确认是否有未收录的MIME值:

var_dump($_FILES['fileUpload']['type']);
die;

拿到输出的MIME值后,添加到mimes.php对应后缀的数组中即可。

4 冗余代码优化(可选)

你当前代码中加载上传库时已经传入了配置参数,后续调用$this->upload->initialize($config)属于重复初始化,可直接删除该行,不影响功能。

内容的提问来源于stack exchange,提问作者Karthik Skmr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 09:15:02