#async-client #tus #upload #async #resumable #file-upload #file-server

tus_async_client

A Rust原生异步客户端库,用于与*tus*启用端点交互

3个不稳定版本

0.2.1 2022年6月24日
0.2.0 2022年6月24日
0.1.0 2021年7月30日

#1337异步

36 每月下载量

MIT 许可证

24KB
403 代码行

tus_async_client

来自 tus_client 的分支

A Rust原生异步客户端库,用于与tus启用端点交互。

用法

创建一个 tus_async_client::Client 结构实例。

use tus_async_client::{Client, HttpHandler};
use reqwest;
use std::sync::Arc;

let client = Client::new(Arc::new(reqwest::Client::new()));

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

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

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

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

upload(和 upload_with_chunk_size)将自动从上次中断的地方继续上传。

依赖项

~3–17MB
~219K SLoC