翼度科技»论坛 编程开发 PHP 查看内容

Dcat admin 多文件上传,七牛云云端上传

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
进入官网  Dcat Admin - Php后台开发框架

 
 
 这里要选择1.x
下面来安装框架

 
 
 

 
 
 安装完laravel之后,需要修改.env文件,设置数据库链接设置正确

 
 
 
安装 dcat-admin
  1. composer require dcat/laravel-admin
复制代码
然后运行下面的命令来发布资源:
  1. php artisan admin:publish
复制代码
然后运行下面的命令完成安装:
  1. php artisan admin:install
复制代码
 这里需要注意的是
{tip} 执行这一步命令可能会报以下错误 Specified key was too long ... 767 bytes,如果出现这个报错,请在 app/Providers/AppServiceProvider.php 文件的 boot 方法中加上代码 \Schema::defaultStringLength(191);,然后删除掉数据库中的所有数据表,再重新运行一遍 php artisan admin:install 命令即可。
给该框架配置一个域名

 在laravel7.x的官方文档中找到优雅链接,并粘贴到public目录下的.htaccess文件里面
  1. Options +FollowSymLinks -Indexes
  2. RewriteEngine On
  3. RewriteCond %{HTTP:Authorization} .
  4. RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  5. RewriteCond %{REQUEST_FILENAME} !-d
  6. RewriteCond %{REQUEST_FILENAME} !-f
  7. RewriteRule ^ index.php [L]
复制代码
 在网站上访问www.wenjian.com/admin

 
 
 此时已经进入
更改config目录下面的app.php里面的配置文件,使的框架变成中文

 
 
 
账号密码都是admin,点击登录,便可以进入

 
 
 
  
 打开系统里的菜单,创建一个商品管理

 
 
 此时左侧便有一个商品管理

 
 
不过,这个是一个空的页面
 
下面创建一个表格,在开发工具下面的代码生成器里面创建一个goods表,注意,标注的地方全选住

 
 
 
  

 
 
 此时,我们数据库里面便新增了一个goods表格

 
 
 
 这时,项目里面新增一个GoodsController.php的控制器,我们看一下菜单,商品管理后面的路径

 
 
 我们找到路由,新增一条
  1. $router->resource('goods', 'GoodController');
复制代码
此时,便可以访问到商品管理里面

 
 
 
 
 我们也可以做一下增删改查了
点击添加,这时,我们并没有办法上传图片

  我们更改一下GoodsController.php控制器里面的文件
 

 
 
 

 
 
 再回到页面刷新一下,此时,便可以对图片进行上传

 
 
 添加后,发现图片在页面上不显示

 
 
 打开config/filesystems.php文件,在disks内增加以下代码
  1. 'admin' => [
  2.             'driver' => 'local',
  3.             'root' => public_path('uploads'),
  4.             'visibility' => 'public',
  5.             'url' => env('APP_URL').'/uploads',
  6.         ],
复制代码
 接着找到config/admin.php文件里的在221行左右,有一个upload,里面disk指向换成admin 
  1. 'disk' => 'admin',
复制代码
注意,在.env配置文件里,这里要改成自己的域名

 
 
 我们返回到页面,重新添加一条数据,这时,便可以展示出来

 
 
 下面是多文件上传展示
找到GoodsController.php控制器,最上面的
  1. $grid->column('goods_image')->image();
复制代码
注释掉,换成以下代码
  1. // 显示多图
  2.             $grid->goods_image()->display(function ($pictures) {
  3.                 return json_decode($pictures, true);
  4.             })->image('', 100, 100);
复制代码
 接着找到protected function form里的  
  1. $form->image('goods_image');
复制代码
注释掉,换成以下代码
  1. // 转化为json格式保存到数据库
  2.             $form->multipleImage('goods_image')->saving(function ($paths) {
  3.                 // 可以转化为由 , 隔开的字符串格式
  4.                 // return implode(',', $paths);
  5.                 // 也可以转化为json
  6.                 return json_encode($paths);
  7.             });
复制代码
  返回到页面,重新添加两张以上的图片

 
 
 此时,可以上传成功,并且展示出来
 
 
 
接下来是云端上传,这里使用的是七牛云
首先需要在终端安装云上传的包
  1. composer require zgldh/qiniu-laravel-storage:0.10.3
复制代码
  
打开自己的七牛云,把鼠标放到上面,这时,有那个黑框里的一个链接,复制黑框里的链接

 
 将刚才复制的网址复制到这里来

 
 和本地上传一样,在filesystems.php文件admin下面添加一下代码,里面的内容按自己的七牛云的配置写,注意,七牛云创桶的时候,把权限设置为公有,不然图片在展示的时候咩有权限,无法正常显示到页面

 
 
再回到config/admin.php目录下面,将原本的admin改为qiniu

 
 到页面上刷新,并添加数据

 
 

 
 这时,文件已经成功上传到七牛云上,并且也可以成功的在页面上展示

来源:https://www.cnblogs.com/Boboschen/p/17221137.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具