DcatAdmin 图片上传只支持png的问题

问题描述#

DcatAdmin 版本: 2.2.2
1. 表单上传图片代码

$form->image('litpic')->accept('jpg,png,gif,jpeg','image/*')->autoUpload();

2. 在表单中使用图片上传,上传 png 可以成功,jpg,jpeg 都失败。提示:

{"status":false,"data":{"message":"validation.image","type":"error"}}

分析问题#

应该是被上传验证数据规则拦截,需要配置验证规则,可查看文档,没有哪里说要配置初始化的规则规则,为了能支持 jpg,加了 accept (‘jpg,png,gif,jpeg’,’image/*’)
可还是提示 相同的错误。
不得以只能追踪 DcatAdmin 的源代码,暂时先把上传文件验证去掉,先开发完其它功能再说,后面再来分析是自己的问题,还是 DcatAdmin 上传图片组件的问题。
文件路径:vendor/dcat/laravel-admin/src/Form/Field/UploadField.php (191 行)
注释掉的代码:

if ($errors = $this->getValidationErrors($file)) {
            return $this->responseValidationMessage($errors);
        }

帮助#

希望有知道解决方法的同学,给个提示。感谢。

本作品采用《CC 协议》,转载必须注明作者和本文链接
Dcat-Admin (plus 版) 是汇聚 Filament,Laravel-admin , Dcat-admin 优点于一身的基于 Laravel + Bootstrap 的极速开发框架
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

$form->image 组件的后端验证是写死的,accept 方法仅仅是对前端的 webuploader 做设置,并不影响后端的验证,参考这篇文章的回答对后端验证作修改 问答:dcat-admin 表单 上传 avif 格式的图片报错

2年前 评论
Dcatplus-杨光 (楼主) 2年前

Dcat-plus Admin @ 速码邦
文章
33
粉丝
52
喜欢
180
收藏
147
排名:442
访问:2.1 万
私信
所有博文
社区赞助商