mwebdev/backblaze-b2

Laravel Backblaze B2 存储服务提供者提供了将 Blackblaze 作为存储系统的 Laravel 存储支持。

v1.5 2022-05-25 08:39 UTC

This package is auto-updated.

Last update: 2024-09-25 16:29:38 UTC


README

backblaze-b2 是用于与 Backblaze 的 B2 存储服务交互的 SDK。

通过 Composer 安装

$ composer require mwebdev/backblaze-b2

使用 use BackblazeB2\Client; use BackblazeB2\Bucket;

$options = ['auth_timeout_seconds' => seconds];

$client = new Client('accountId', 'applicationKey', $options); $options 是可选的。如果省略,默认超时为 12 小时。超时允许长时间存在的 Client 对象,以便授权令牌不会过期。

ApplicationKey 尚不支持,请仅使用 MasterKey 返回存储桶详细信息 $bucket = $client->createBucket([ 'BucketName' => 'my-special-bucket', 'BucketType' => Bucket::TYPE_PRIVATE // 或 TYPE_PUBLIC ]); 更改存储桶类型 $updatedBucket = $client->updateBucket([ 'BucketId' => $bucket->getId(), 'BucketType' => Bucket::TYPE_PUBLIC ]); 列出所有存储桶 $buckets = $client->listBuckets(); 删除存储桶 $client->deleteBucket([ 'BucketId' => 'YOUR_BUCKET_ID' ]); 文件上传 $file = $client->upload([ 'BucketName' => 'my-special-bucket', 'FileName' => 'path/to/upload/to', 'Body' => 'I am the file content'

// The file content can also be provided via a resource.
// 'Body' => fopen('/path/to/input', 'r')

]); 文件下载 $fileContent = $client->download([ 'FileId' => $file->getId()

// Can also identify the file via bucket and path:
// 'BucketName' => 'my-special-bucket',
// 'FileName' => 'path/to/file'

// Can also save directly to a location on disk. This will cause download() to not return file content.
// 'SaveAs' => '/path/to/save/location'

]); 文件复制 $copyOfFile = $client->copy([ 'BucketName' => $bucketName, 'FileName' => $path, 'SaveAs' => $newPath,

// Can also supply BucketId instead of BucketName
// Optional are DestinationBucketName or DestinationBucketId

]); 文件删除 $fileDelete = $client->deleteFile([ 'FileId' => $file->getId()

// Can also identify the file via bucket and path:
// 'BucketName' => 'my-special-bucket',
// 'FileName' => 'path/to/file'

]); 列出所有文件 $fileList = $client->listFiles([ 'BucketId' => 'YOUR_BUCKET_ID' ]); 更新日志请参阅 CHANGELOG 获取更多最近更改的信息。

测试 $ vendor/bin/phpunit 贡献者请参阅 CONTRIBUTING 和 CONDUCT 获取详细信息。

安全性如果您发现任何与安全相关的问题,请通过电子邮件 atonujekemena@gmail.com 联系,而不是使用问题跟踪器。

鸣谢所有贡献者 许可证 MIT 许可证 (MIT)。有关更多信息,请参阅许可文件。

Laravel 使用

安装

通过 Composer

composer require mwebdev/backblaze-b2

在 app.php 配置文件中将服务提供者添加到列表中

\Gliterd\BackblazeB2\BackblazeB2ServiceProvider::class,

在 filesystems.php 配置文件中的 disks 部分添加以下内容

'b2' => [
    'driver'         => 'b2',
    'accountId'      => '',
    'applicationKey' => '',
    'bucketName'     => '',
],

使用

就像您通常使用 Storage 门面一样使用它。

\Storage::disk('b2')->put('filename.txt', 'My important content');

\Storage::disk('b2')->get('filename.txt')