Laravel admin 多圖七牛擴充套件,非同步、可拖拽順序、可刪除

Hanson發表於2020-02-09

以前用 laravel admin 寫後臺,最大的阻力之一,就是圖片

儘管官方有 multipleImages 可以支援多圖,但發現順序無法拖拽,重新編輯圖片會不見,程式碼又要重寫等

於是乎,又又又擼了個輪子

專案地址 : https://github.com/Hanson/laravel-admin-qi... (例行求 star )

Laravel admin 框架的七牛 qiniu 多圖上傳擴充套件,可拖拽,非同步上傳圖片,支援刪除

1_7M_G0VFANP6HK48EEL2QO.png

__FP8P8`VX`LN_Y3__4K762.png

安裝

composer require hanson/laravel-admin-qiniu:dev-master -vvv

配置

config/filesystems.php 增加一個 disk

<?php

return [
   'disks' => [
        //...
        'qiniu' => [
           'driver'     => 'qiniu',
           'access_key' => env('QINIU_ACCESS_KEY', 'xxxxxxxxxxxxxxxx'),
           'secret_key' => env('QINIU_SECRET_KEY', 'xxxxxxxxxxxxxxxx'),
           'bucket'     => env('QINIU_BUCKET', 'xxx'),
           'domain'     => env('QINIU_DOMAIN', 'xxx.clouddn.com'), // or host: https://xxxx.clouddn.com
        ],
        //...
    ]
];

使用

<?php

$form = new \Encore\Admin\Form(new Goods);

$form->qiniuImages('column', '商品圖')->sortable(); // 普通用法

$form->qiniuImages('column', '商品圖')
    ->sortable() // 讓圖片可以拖拽排序
    ->extraData(['disk' => 'qiniu2', 'path' => 'avatar']) // 假如你有多個七牛配置,可以通過指定此處的 disk 進行上傳, path 為檔案路徑的字首
    ->value(['http://url.com/a.jpg', 'http://url.com/b.jpg']); // 預設顯示的圖片陣列,必須為 url

$form->saving(function (\Encore\Admin\Form $form) {
    $paths = \Hanson\LaravelAdminQiniu\Qiniu::getPaths(request('qiniu_column')); // 需要 qiniu_ 作為字首的欄位
});
本作品採用《CC 協議》,轉載必須註明作者和本文連結

php吹水交流群 570769430

歡迎在社群的問答帖 @ 我邀請我回答疑問

相關文章