Laravel-admin: 图片上传相关问题

Created on 28 Feb 2017  ·  7Comments  ·  Source: z-song/laravel-admin

  1. 文件验证失效,图片上传时,选择其他类型文件不会报错
  2. 多图上传时,可否允许用户多次添加图片,目前的实现是: 图片选择会把上一次选择的图片替换掉,体验不太好。
  3. 使用多图上传控件会报错:
 QueryException In Connection.php line 770 :
Array to string conversion (SQL: insert into `test` (`name`, `pictures`, `updated_at`, `created_at`) values (aaaaaa, image/47b9559b134641fa42fbf61931aac7dc.jpeg, 2017-02-28 22:51:11, 2017-02-28 22:51:11))
  1. 提交后,如果有其他字段验证失败,所选图片也会被清空

Most helpful comment

$form->multipleImage('pictures');

提交的数据是图片数组, 所以在模型里面要设置pictures字段的存储格式,通过定义mutator来实现,比如你要用json字符串形式来存储多图:

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

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

也可以用其它格式来存储

All 7 comments

下个版本会修复问题2,问题3多图上传下个版本会重构掉,效果可以看demo上的多图上传

其它两个问题我再看看

@z-song 问题3能不能麻烦先修复下,现在用的最新的1.3.x-dev,依然有这个问题,但是我看demo是好的。项目需要用到这个控件,这会导致流程进行不下去。

$form->multipleImage('pictures');

提交的数据是图片数组, 所以在模型里面要设置pictures字段的存储格式,通过定义mutator来实现,比如你要用json字符串形式来存储多图:

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

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

也可以用其它格式来存储

👍 非常感谢。

@z-song
bootstrap-fileinput修复了allowedFileTypes无效的问题,可以更新下。
https://github.com/kartik-v/bootstrap-fileinput/issues/885

soga!

thanks

Was this page helpful?
0 / 5 - 0 ratings

Related issues

amun1303 picture amun1303  ·  3Comments

MarKco picture MarKco  ·  3Comments

wangwenfan picture wangwenfan  ·  3Comments

greentornado picture greentornado  ·  3Comments

evans-kim picture evans-kim  ·  3Comments