retroace / storage

ekcms 的存储适配器

0.1.x-dev 2021-06-09 05:57 UTC

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