laravel-admin多图上传保存失败

laravel-admin1.x版本多图上传

  • 控制器

  • 模型

  • 数据库 也是json类型

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

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

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

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

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

2年前 评论
讨论数量: 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年前
一叶菩提 3年前

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

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

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

3年前 评论

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

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

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

2年前 评论

最后再查了一下,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']);
}
2年前 评论
Scott (作者) 2年前

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