okashoi/laravel5-conoha-object-handler

为 Laravel 5 的 Conoha 对象存储提供的对象处理器。

v1.0 2016-11-30 17:07 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:55:00 UTC


README

CircleCI

Laravel 5 包用于使用 Conoha 对象存储。

安装

通过 Composer 安装此包。

composer require okashoi/laravel5-conoha-object-handler

要使用此包,请在 config/app.php 中注册服务提供者。

    'providers' => [
        // ...
        Okashoi\Laravel5ConohaObjectHandler\ConohaObjectServiceProvider::class,
    ]

要配置连接设置,请执行以下命令。

php artisan vendor:publish --provider="Okashoi\Laravel5ConohaObjectHandler\ConohaObjectServiceProvider"

然后在 .env 文件中设置以下环境变量。

CONOHA_TENANT_ID
CONOHA_USERNAME
CONOHA_PASSWORD

使用方法

创建实例

首先您必须创建一个 ObjectHandler 实例。

use Okashoi\Laravel5ConohaObjectHandler\ObjectHandler;
 
$handler = new ObjectHandler();

可选地,您可以通过指定缓存键来缓存认证令牌。(建议这样做。默认情况下,每个请求实例都会获取一个新的认证令牌。)

use Okashoi\Laravel5ConohaObjectHandler\ObjectHandler;
 
// cache the auth token with key 'conoha_token'
$handler = new ObjectHandler('conoha_token');

缓存是通过使用 Laravel Cache API 实现的。

获取对象列表

示例

$objects = $handler->getList('container_name');

上传对象

示例

$handler->upload('container_name', 'object_name.txt', '/path/to/file/to/upload.txt', 'text/plain');

下载对象

download() 方法将返回 GuzzleHttp 响应。

您可以通过 getBody() 方法访问文件内容。

$response = $handler->download('container_name', 'object_name.txt');

echo $response->getBody();

或者,您可以按如下方式制作下载响应。

$response = $handler->download('container_name', 'object_name.txt');
 
return reponse($response->getBody())->header('Content-Type', $response->getHeader('Content-Type'));

删除对象

示例

$handler->delete('container_name', 'object_name.txt');