vormkracht10/flysystem-uploadcare

Flysystem为Uploadcare提供的Laravel驱动程序。

v0.4.0 2024-07-10 14:37 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

支持Laravel v9+的Uploadcare Flysystem适配器。

安装

您可以通过Composer安装此包

composer require vormkracht10/flysystem-uploadcare

将以下配置添加到config/filesystems.php中的disk数组

[
    'uploadcare' => [
        'driver' => 'uploadcare',
        'public' => env('UPLOADCARE_PUBLIC_KEY'),
        'secret' => env('UPLOADCARE_SECRET_KEY'),
        'cdn' => env('UPLOADCARE_CDN') // Default https://ucarecdn.com
    ]
]

然后在.env中将FILESYSTEM_DISK设置为uploadcare

FILESYSTEM_DISK=uploadcare

示例

请注意:由于将文件添加到Uploadcare总是返回一个唯一ID,该ID将用于检索文件,因此您可能希望使用*GetUuid()函数写入文件。

$uuid = Storage::disk('uploadcare')->putGetUuid('example.txt', 'My notes.');

$uuid = Storage::disk('uploadcare')->putFileGetUuid('files', new File('/var/www/uploadcare-app/routes/newcontent.txt'));

$uuid = Storage::disk('uploadcare')->putFileAsGetUuid('files', new File('/var/www/uploadcare-app/routes/newcontent.txt'), 'my-awesome-name.txt');

获取文件的文件内容

$contents = Storage::disk('uploadcare')->get('<uuid>');

删除文件

Storage::disk('uploadcare')->delete('<uuid>');

获取文件的MIME类型

$mimeType = Storage::disk('uploadcare')->mimeType('<uuid>');

获取文件的文件大小

$bytes = Storage::disk('uploadcare')->filesize('<uuid>');

获取文件的原始文件名

$info = Storage::disk('uploadcare')->fileInfo($result[0]);
$filename = $info->extraMetadata()['originalFilename'];

获取文件列表

Uploadcare中的目录以uuid结尾的"~"符号存储。获取目录中的文件可以按以下方式检索

$files = Storage::disk('uploadcare')->files('0123a456-a0bc-0a1b-0ab1-0a1234a5b6c7~');
foreach ($files as $uuid) {
    echo 'https://ucarecdn.com/' . $uuid .'<br />';
}

处理图像吗?请参阅github.com/vormkracht10/php-uploadcare-transformations

测试

composer test

变更日志

请参阅CHANGELOG了解最近更改的详细信息。

贡献

请参阅CONTRIBUTING了解详细信息。

安全漏洞

请参阅我们的安全策略了解如何报告安全漏洞。

致谢

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件