laravel-admin多图上传保存失败

laravel-admin1.x版本多图上传

  • 控制器

  • 模型

  • 数据库 也是json类型

最后添加/编辑保存的时候,直接跳了302,没提交成功
我看文档这样写的啊,咋肥事啊老哥们!!!

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

测试完了,发现上传jpg时,验证会通不过,判断文件格式不对,上传png没问题,具体为什么还不清楚。 目前解决办法: MultipleImage.php里 删除protected $rules = 'image';

基本就是等于是按多文件上传了,

希望有人继续看看是什么原因,导致验证jpg失败

1年前 评论
讨论数量: 29

是不是因为图片太大导致失败,我记得貌似是超过3M还是多少就会提交失败!

3年前 评论
dj666666 (楼主) 3年前
// Admin控制器
$form->multipleImage('pics', __('Pics'))->move('admin/pics')->removable()->sortable()->uniquename();

// 模型设置
protected $fillable = ['pics'];
protected $casts = [
    'pics' => 'json',
];

// 数据迁移
$table->json('pics')->nullable()->comment('照片');

大概这样就ok了

3年前 评论
dj666666 (楼主) 3年前
草莓熊 3年前

protected $table = 'article';

protected $fillable = [
    'pictures'
];
protected $casts = [
    'pictures' => 'json',
];

/*public function setPicturesAttribute($pictures)
{
    if (is_array($pictures)) {
        $this->attributes['pictures'] = json_encode($pictures);
    }
}

public function getPicturesAttribute($pictures)
{
    return json_decode($pictures, true);
}*/

@夜游人 我模型改成你这样了还是不行,大哥

3年前 评论
夜游人 3年前
dj666666 (作者) (楼主) 3年前
夜游人 3年前
夜游人 3年前
夜游人 3年前
dj666666 (作者) (楼主) 3年前
dj666666 (作者) (楼主) 3年前

数据库的话,好像说存是json格式,实际mysql的字段设计是text

3年前 评论
dj666666 (楼主) 3年前

需要写setAttrbuit方法,把提交的arry数据自己转一下修改器《Laravel 8 中文文档》

3年前 评论
dj666666 (楼主) 3年前

我也是这样的问题,目前还没有找到解决办法 :grinning:

3年前 评论
dj666666 (楼主) 3年前
青衣 3年前
草莓熊 (作者) 3年前
一叶菩提 2年前

同样遇到这个问题,请问找到解决办法了吗

3年前 评论
dj666666 (楼主) 3年前

我也遇到了这样的问题,最骚的是,有时候可以,过一会就不行了

2年前 评论

测试完了,发现上传jpg时,验证会通不过,判断文件格式不对,上传png没问题,具体为什么还不清楚。 目前解决办法: MultipleImage.php里 删除protected $rules = 'image';

基本就是等于是按多文件上传了,

希望有人继续看看是什么原因,导致验证jpg失败

1年前 评论

最后再查了一下,laravel的validator类,发现图片验证方法ValidatesAttributes.php少了jpg格式,增加了就可以了

public function validateImage($attribute, $value) { return $this->validateMimes($attribute, $value, ['jpeg', 'png', 'gif', 'bmp', 'svg', 'webp']); }

改成

public function validateImage($attribute, $value)
{
    return $this->validateMimes($attribute, $value, ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'svg', 'webp']);
}
1年前 评论
Scott (作者) 1年前

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