ntzm/tusk

PSR-7兼容的PHP tus服务器

0.1.0 2020-01-24 20:18 UTC

This package is auto-updated.

Last update: 2024-09-25 06:59:09 UTC


README

PSR-7兼容的tus服务器,适用于PHP

可用的存储驱动程序

S3

在S3中存储文件

$storage = new Tusk\Storage\S3Storage(new Aws\S3\S3Client([
    'version' => '2006-03-01',
    'region' => 'eu-west-1',
]), 'bucket-name');

有关PHP AWS SDK的更多信息,请参阅文档

ID生成

默认情况下,文件ID使用RandomHexIdGenerator创建,这将生成32字符的ID,类似于69ed96b70ab30c8f046e79b74faf481b。如果您想更改此方式,可以注入一个实现了IdGenerator的自定义类。

位置生成

文件上传开始时,服务器返回一个客户端可以继续发送数据的URL。默认情况下,这是POST URL加上文件ID。这由RelativeLocationGenerator处理。

例如,如果POST端点的URL是/files,文件位置将是files/<id>

如果您想更改此设置,可以注入一个实现了LocationGenerator的自定义类。

事件

Tusk在文件的生命周期中的特定事件发生时会发出事件。您可以使用任何PSR-14兼容的事件调度器实现来挂钩这些事件。

UploadComplete

当文件已完全上传时,会触发Tusk\Event\UploadComplete。它有一个方法fileId(),可以调用以获取文件的ID。

兼容性

Tusk与tus 1.0.0及以下扩展兼容