mocode/flysystem-aliyunoss

Flysystem 对 Aliyun OSS 存储的适配器。

1.0.0 2019-04-30 07:14 UTC

This package is auto-updated.

Last update: 2024-09-06 15:38:14 UTC


README

这是 Aliyun OSS ~2.3 的 Flysystem 适配器。

灵感来源

安装

$ composer require mocode/flysystem-aliyunoss

用法

use League\Flysystem\Filesystem;
use Mocode\Flysystem\AliyunOss\AliyunOssAdapter;
use OSS\OssClient;

$accessId = 'Aliyun Oss Access Id';
$accessKey = 'Aliyun Oss Access Key';
$endPoint = 'Aliyun Oss endPoint';
$bucket = 'Aliyun Oss Bucket';
$domain = 'Aliyun Oss CDN Domain';

$client = new OssClient($accessId, $accessKey, $endPoint);
$adapter = new AliyunOssAdapter($client, $bucket, $domain);

$flysystem = new Filesystem($adapter);

API

bool $flysystem->write('file.md', 'contents');

bool $flysystem->writeStream('file.md', fopen('path/to/your/local/file.jpg', 'r'));

bool $flysystem->update('file.md', 'new contents');

bool $flysystem->updateStream('file.md', fopen('path/to/your/local/file.jpg', 'r'));

bool $flysystem->rename('foo.md', 'bar.md');

bool $flysystem->copy('foo.md', 'foo2.md');

bool $flysystem->delete('file.md');

bool $flysystem->has('file.md');

string|false $flysystem->read('file.md');

array $flysystem->listContents();

array $flysystem->getMetadata('file.md');

int $flysystem->getSize('file.md');

string $flysystem->getAdapter()->getUrl('file.md'); 

string $flysystem->getMimetype('file.md');

int $flysystem->getTimestamp('file.md');

完整的 API 文档。

插件

文件 URL

use Mocode\Flysystem\AliyunOss\\Plugins\PutFile;

$flysystem->addPlugin(new PutFile());

bool $flysystem->putFile('file.md', 'contents');

用于 Laravel

编辑 .env

添加 Aliyun OSS 配置

OSS_ACCESS_ID=xxxxxxxxxxxx
OSS_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxx
OSS_BUCKET=xxxxxxxxxx
OSS_ENDPOINT=xxxxxxxxx
OSS_DOMAIN=xxxxxxxxxxxx

编辑配置文件:config/filesystems.php

添加配置

'oss' => [
    'driver'     => 'oss',
    'access_id'  => env('OSS_ACCESS_ID'), // Aliyun OSS AccessKeyId
    'access_key' => env('OSS_ACCESS_KEY'), // Aliyun OSS AccessKeySecret
    'bucket'     => env('OSS_BUCKET'), // OSS bucket name
    'endpoint'   => env('OSS_ENDPOINT'), // OSS 节点或自定义外部域名
    'domain'     => env('OSS_DOMAIN'), // CDN domain
],

将默认值更改为 oss

'default' => 'oss'

使用

查看 Laravel 维基

许可证

MIT