#upload #tus #resumable

tus_client

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

2个版本

0.1.1 2019年8月8日
0.1.0 2019年8月8日

#918 in HTTP服务器

MIT 许可证

24KB
401

tus_client

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

reqwest 实现

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

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

用法

创建一个 tus_client::Client 结构体的实例。

use tus_client::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
~76K SLoC