gradii/flysystem-aliyun-oss

此包已被废弃,不再维护。未建议替代包。

这是 Flysystem 适配 Aliyun OSS ~2.2.1 的包

2.0.1 2017-07-19 05:42 UTC

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,
],