laravel-admin 文件上传OSS
下面是我的 composer.json 内容
"require": {
"php": ">=7.0.0",
"encore/laravel-admin": "^1.6",
"jacobcyl/ali-oss-storage": "^2.1",
"laravel/framework": "5.5.*",
...
}
具体流程
1、下载合适的第三方包
在 composer.json 文件中的 require 添加 "jacobcyl/ali-oss-storage": "^2.1";
或者直接运行 composer require jacobcyl/ali-oss-storage:^2.1 亦可。
2、添加服务提供者
在 config/app.php 文件下增加 Jacobcyl\AliOSS\AliOssServiceProvider::class,,如下图所示:
在 config/filesystems.php 增加 OSS 配置信息
如下:
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
],
// 这里是新增
'oss' => [
'driver' => 'oss',
'access_id' => // 这里是你的 OSS 的 accessId,
'access_key' => // 这里是你的 OSS 的 accessKey,
'bucket' => // 这里是你的 OSS 自定义的存储空间名称,
'endpoint' => 'oss-cn-hangzhou.aliyuncs.com', // 这里以杭州为例
'cdnDomain' => '', // 使用 cdn 时才需要写, https://加上 Bucket 域名
'ssl' => true, // true 使用 'https://' false 使用 'http://'. 默认 false,
'isCName' => false, // 是否使用自定义域名,true: Storage.url() 会使用自定义的 cdn 或域名生成文件 url,false: 使用外部节点生成url
'debug' => false,
],
],
在 config/filesystems.php 更改 'default' 配置信息
如下:
'default' => env('FILESYSTEM_DRIVER', 'oss'),
也可以在 env
文件中定义 FILESYSTEM_DRIVER = oss
也可。
5、在 config/admin.php
修改 upload
配置
如下:
'upload' => [
// Disk in `config/filesystem.php`.
'disk' => 'oss', // 这里就是指向 disks 下面的 oss 配置
// Image and file upload path under the disk above.
'directory' => [
'image' => 'images',
'file' => 'files',
],
],
网上的步骤一般就是到这里了,上面的流程参考:[laravel-admin 文件上传 oss]
问题出现
但是这时候问题就出现了, laravel-admin
本身为了开发者快速开发,本身就完成了一部分功能,当我们使用默认账号 admin
登录进去后,在后台的页面右上角和左上角都有默认的头像显示,这个默认头像是存放在本地 local
下的,在 vendor/encore/laravel-admin/resources/views/partials
下 header.blade.php
和 sidebar.blade.php
两个视图文件中显示,请看下图:
header.blade.php
sidebar.blade.php
而我们在 具体流程 的 5个步骤中已经把上传的配置改成了 oss 了,这时访问后台时,就会抛出一个异常:
https://segmentfault.com/a/1190000018384162 详细请看原文链接 如有侵权 联系我 马上删除
转载https://segmentfault.com/a/1190000018384162