后台上传 JPG、PNG 时出现 Disallowed file type,先不要修改核心文件的白名单。Magento 不只看文件名,还会读取真实 MIME;不少所谓 JPG 实际是 WebP,或只是改了后缀。

先确认文件与请求

file --mime-type product-image.jpg
identify product-image.jpg

若识别结果与后缀不同,重新导出图片。还要排除双扩展名、零字节文件,并检查 PHP 的 upload_max_filesizepost_max_size。请求被截断时,Magento 收到的文件也会异常。

只有自定义字段报错

系统图库可上传而自定义字段失败,通常是 uploader 配置。自定义模块应通过依赖注入设置允许扩展名,同时保留内容校验:$uploader->setAllowedExtensions(['jpg','jpeg','png','gif']);。需要 WebP 时,还应确认 Magento 版本、主题和图片处理库都支持;只改前端 accept 属性无效。

修复后分别测试标准 JPG、PNG 和故意改错后缀的文件。前两者成功、错误文件仍被拒绝,才说明功能与安全检查都正常。