gradii / flysystem-aliyun-oss
此包已被废弃,不再维护。未建议替代包。
这是 Flysystem 适配 Aliyun OSS ~2.2.1 的包
2.0.1
2017-07-19 05:42 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: 2018-12-25 23:46:48 UTC
README
这是 Flysystem 适配 Aliyun OSS ~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, ],