retroace / storage
ekcms 的存储适配器
0.1.x-dev
2021-06-09 05:57 UTC
Requires
- league/flysystem: ~1.0
This package is auto-updated.
Last update: 2024-09-09 12:47:58 UTC
README
此包是 Laravel 的文件系统包装器。这使得执行如复制、移动、上传等操作变得简单。
简介
此包是 flysystem 适配器的包装器。此包添加了新的 flysystem 驱动 ekcdn-storage,任何使用此驱动的都应该有三个配置:apiKey、domainUrl 和 url。
ApiKey - 您项目的 API 密钥
url - 域或您的子域名
domainUrl - ekcdn 的域 https://ekcdn.ekbana.info
使用方法
将这些放入 .env 文件中,并确保添加正确的 URL
EKCDN_ASSET_PREFIX_URL=
EKCDN_API_KEY=
EKCDN_STORAGE_URL=https://ekcdn.ekbana.info
在 URL 中将您的子域名替换为 subdomain。并将您的密钥放在 EKCDN_API_KEY 中。
上传文件
要从配置上传文件,请使用以下命令
Storage::disk('ekcdn')->putFileAs("/user/avatar", Request::file('my_image'), "my_image.png"); // return appropriate file name
Storage::disk('ekcdn')->putFile("/user/avatar", Request::file('my_image')); // returns random image name with path
获取文件 URL
要获取文件 URL,请使用以下任何一种方法
Storage::disk('ekcdn')->url("/user/avatar/my_image.png");
Storage::disk('ekcdn')->path("/user/avatar/my_image.png");
异常处理
当上传任何资源时,库抛出的异常扩展了 php 的 RuntimeException。系统抛出的异常包括
Retroace\Storage\Exceptions\CorsException
Retroace\Storage\Exceptions\DomainNotAllowedException
Retroace\Storage\Exceptions\ExceededDiskUsageException
Retroace\Storage\Exceptions\FileNotAllowedException
Retroace\Storage\Exceptions\FileNotFoundException
Retroace\Storage\Exceptions\FilePostLimitException
Retroace\Storage\Exceptions\InvalidApiKeyException
Retroace\Storage\Exceptions\UnverifiedUserException
\Exception