#tus #upload #resumable #http-header

tus_client_extra

用于与*tus*启用端点交互的Rust本地客户端库

1个不稳定版本

0.1.1 2022年7月23日

#6#tus

MIT许可证

25KB
409

tus_client_extra

用于与tus启用端点交互的Rust本地客户端库。

reqwest实现

tus_client_extra需要一个实现HttpHandler特质的"处理器"。要包含reqwest的默认实现,请在将tus_client_extra作为依赖项包含时指定reqwest功能。

# Other parts of Cargo.toml omitted for brevity
[dependencies]
tus_client_extra = {version = "x.x.x", features = ["reqwest"]}

用法

创建tus_client_extra::Client结构体的实例。

use tus_client_extra::Client;
use reqwest;

// Assumes "reqwest" feature is enabled (see above)
let client = Client::new(reqwest::Client::new());

你需要一个上传URL来上传文件。这可能是由你提供的(例如通过单独的API),或者你可能需要通过tus协议创建文件。如果你提供了上传URL,可以跳过此步骤。

let upload_url = client
    .create("https://my.tus.server/files/", "/path/to/file")
    .expect("Failed to create file on server");

接下来,你可以通过调用upload开始上传文件。默认情况下,文件将以5 MiB的块上传。要自定义块大小,请使用upload_with_chunk_size而不是upload

client
    .upload(&upload_url, "/path/to/file")
    .expect("Failed to upload file to server");

upload(和upload_with_chunk_size)将在上传传输中断时自动从上次中断的地方恢复上传。

依赖项

~0.3–3.5MB
~75K SLoC