ipunkt/fileproxy-client

此包已被废弃,不再维护。未建议替代包。

fileproxy应用程序的客户端库

1.1.1.2 2017-06-13 12:51 UTC

This package is auto-updated.

Last update: 2023-06-23 04:03:38 UTC


README

Latest Stable Version Latest Unstable Version License Total Downloads

fileproxy的客户端库

快速入门

composer require ipunkt/fileproxy-client

使用方法

设置我们的客户端。

$client = new \Guzzle\Http\Client();

$fileproxy = new \Ipunkt\Fileproxy\FileproxyClient('https://file-proxy.app', $client);

设置凭据

从版本1.1.0开始,fileproxy可以通过一个秘密令牌头保护API调用。您可以将它添加到客户端,如下所示

$fileproxy->setCredentials('S3cr3T');

或者,您也可以配置一个不同于默认名称的头名称

$fileproxy->setCredentials('S3cr3T', 'X-ANOTHER-SECURITY-TOKEN-NAME');

设置头部

通过为每个请求添加自定义HTTP头部,可以添加另一个安全级别。因此,您的基础设施可以通过解析它们来验证请求。您可以通过以下方式实现这一点

$fileproxy->addHeader('X-HEADER', 'custom value');

文件资源

文件资源处理与相关代理文件的所有事情。这些文件是服务提供的别名的来源。

上传新文件

$fileToUpload = new \SplFileInfo('/absolute/file/path.ext');

/** @var \Ipunkt\Fileproxy\Entities\File $file */
$file = $fileproxy->files()->store($fileToUpload);

$file 是一个文件实体,包含有关文件本身的主要信息 - 参考。

更新已上传文件

$reference = 'UUID-FROM-LOCAL-STORAGE';
$fileToUpload = new \SplFileInfo('/absolute/file/path.ext');

/** @var \Ipunkt\Fileproxy\Entities\File $file */
$file = $fileproxy->files()->update($reference, $fileToUpload);

$file 是一个文件实体,包含有关文件本身的主要信息 - 参考。

存储远程文件

$url = 'https://domain.tld/images/picture.jpg';

/** @var \Ipunkt\Fileproxy\Entities\File $file */
$file = $fileproxy->files()->storeRemote($url);

$file 是一个文件实体,包含有关文件本身的主要信息 - 参考。

更新存储的远程文件

$reference = 'UUID-FROM-LOCAL-STORAGE';
$url = 'https://domain.tld/images/picture.jpg';

/** @var \Ipunkt\Fileproxy\Entities\File $file */
$file = $fileproxy->files()->updateRemote($reference, $url);

$file 是一个文件实体,包含有关文件本身的主要信息 - 参考。

通过引用请求文件

/** @var \Ipunkt\Fileproxy\Entities\File $file */
$file = $fileproxy->files()->get($reference);// $reference is a UUID4

$file 是一个文件实体。例如,您可以从中获取命中。

文件别名资源

您可以使用此资源创建或检索别名。

创建别名

/** @var \Ipunkt\Fileproxy\Entities\Alias $alias */
$alias = $fileproxy->fileAliases($reference /* only once needed */)->create('limited-file.jpg', 5 /* hits only */);// $reference is a UUID4

创建的 $alias 将返回,并包括下载URL和别名ID。

检索所有别名

/** @var \Ipunkt\Fileproxy\Entities\Alias[]|array $aliases */
$aliases = $fileproxy->fileAliases($reference /* only once needed */)->all();// $reference is a UUID4

您可以遍历所有现有的 $aliases

别名资源

别名资源处理别名的请求和删除。

请求别名

/** @var \Ipunkt\Fileproxy\Entities\Alias $alias */
$alias = $fileproxy->alias()->get($aliasId);// $aliasId = "${reference}.${alias}"

$alias 是一个别名实体。关于别名的关键信息是下载URL和命中以及剩余统计数据。

删除别名

$fileproxy->alias()->delete($aliasId);// $aliasId = "${reference}.${alias}"

别名在未抛出异常的情况下被删除。

统计资源

请求统计信息

/** @var \Ipunkt\Fileproxy\Entities\Statistic $stats */
$stats = $fileproxy->statistics()->stats();

$stats 返回当前服务的主要统计信息:字节数、文件和别名计数、服务请求和访问量汇总。