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 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 2

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

1年前 评论
YeRic (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!