hobbily / flysystem-aliyun-oss
这是 Aliyun OSS 的 Flysystem 适配器 ~2.2.1
3.0.1
2017-09-26 03:23 UTC
Requires
- php: >=5.5.9
- aliyuncs/oss-sdk-php: ~2.2.1
- league/flysystem: ~1.0
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-09-29 05:07:53 UTC
README
这是 Aliyun OSS 的 Flysystem 适配器 ~2.2.1
灵感来源于 aobozhang/aliyun-oss-adapter
灵感来源于 apollopy/flysystem-aliyun-oss
安装
composer require gradii/flysystem-aliyun-oss
针对 Laravel
必须注册此服务提供者。
为了与旧的 xsilen/flysystem-aliyun-oss 兼容,我没有更改以 Gradii 开头的命名空间
// config/app.php 'providers' => [ '...', Xsilen\Flysystem\AliyunOss\AliyunOssServiceProvider::class, ];
编辑配置文件:config/filesystems.php
添加配置
'oss' => [ 'driver' => 'oss', 'access_id' => env('ALIYUN_OSS_ACCESS_KEY_ID'), 'access_key' => env('ALIYUN_OSS_ACCESS_KEY_SECRET'), 'bucket' => env('ALIYUN_OSS_BUCKET_NAME'), //使用endpoint来上传oss文件, 如果是OSS内网上传, 刚将OSS内网地址填在此处 'endpoint' => env('ALIYUN_OSS_ENDPOINT'), 'cdnDomain' => env('ALIYUN_OSS_CDN_DOMAIN'), // true to use 'https://' and false to use 'http://'. default is false, 'ssl' => true, // 如果isCName为true, getUrl会判断cdnDomain是否设定来决定返回的url,如果cdnDomain未设置,则使用endpoint来生成url,否则使用cdn // 而且, 上传将会用endpoint来上传, 读取将会用cdnDomain来读取 'isCName' => true, 'prefix' => env('OSS_PREFIX', ''), // optional ],
将默认设置为 oss
'default' => 'oss'
使用
参见 Laravel wiki
插件
灵感来源于 itbdw/laravel-storage-qiniu
Storage::disk('oss')->putFile($path, '/local_file_path/1.png', ['mimetype' => 'image/png']); Storage::disk('oss')->signedDownloadUrl($path, 3600, /*可强制写cdnDomain*/'oss-cn-beijing.aliyuncs.com', true); Storage::disk('oss')->fullUrl($path, /*可强制写cdnDomain*/'oss-cn-beijing.aliyuncs.com', true);
IDE 辅助
如果已安装 barryvdh/laravel-ide-helper
编辑配置文件:config/ide-helper.php
'interfaces' => [ '\Illuminate\Contracts\Filesystem\Filesystem' => Xsilen\Flysystem\AliyunOss\FilesystemAdapter::class, ],