Expand description
§qiniu-download-manager
§七牛下载管理
基于 qiniu-apis
提供针对七牛对象的下载功能
(同时提供阻塞客户端和异步客户端,异步客户端则需要启用 async
功能)。
§功能描述
§async
启用异步接口。
§ureq
导入 qiniu-ureq
作为 HTTP 客户端。
§isahc
导入 qiniu-isahc
作为 HTTP 客户端。
§reqwest
导入 qiniu-reqwest
作为 HTTP 客户端。
§c_ares
启用 c-ares
库作为 DNS 解析器。
§trust_dns
启用 trust-dns
库作为 DNS 解析器。
§dns-over-https
启用 trust-dns
库作为 DNS 解析器,并使用 DOH 协议。
§dns-over-tls
启用 trust-dns
库作为 DNS 解析器,并使用 DOT 协议。
§代码示例
§下载私有空间的对象到指定路径
§阻塞代码示例
use qiniu_download_manager::{apis::credential::Credential, DownloadManager, StaticDomainsUrlsGenerator, UrlsSigner};
let bound_domain = "my-domain.com"; // 直接设置绑定的空间域名
let object_name = "test-object";
let download_manager = DownloadManager::new(UrlsSigner::new(
Credential::new("abcdefghklmnopq", "1234567890"),
StaticDomainsUrlsGenerator::builder(bound_domain)
.use_https(false)
.build(), // 设置为 HTTP 协议
));
download_manager
.download(object_name)?
.to_path("/home/qiniu/test.png")?;
Ok(())
§异步代码示例
use qiniu_download_manager::{
apis::{credential::Credential, http_client::BucketDomainsQueryer},
DownloadManager, EndpointsUrlGenerator, UrlsSigner,
};
let bucket_name = "test-bucket"; // 查询空间绑定的域名
let object_name = "test-object";
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let download_manager = DownloadManager::new(UrlsSigner::new(
credential.to_owned(),
EndpointsUrlGenerator::builder(BucketDomainsQueryer::new().query(credential, bucket_name))
.use_https(false)
.build(), // 设置为 HTTP 协议
));
download_manager
.async_download(object_name)
.await?
.async_to_path("/home/qiniu/test.png")
.await?;
Re-exports§
pub use qiniu_apis as apis;
Modules§
- prelude
- 将所有 Trait 全部重新导出,方便统一导入
Structs§
- Async
Downloading Object Reader - 下载对象的内容阅读器
- Download
Manager - 下载管理器
- Download
Manager Builder - 下载管理构建器
- Download
Retrier Options - 下载重试器选项
- Downloading
Object - 准备下载的对象
- Downloading
Object Reader - 下载对象的内容阅读器
- Downloading
Progress Info - 下载进度信息
- Endpoints
UrlGenerator - 终端地址下载 URL 列表生成器
- Endpoints
UrlGenerator Builder - 终端地址下载 URL 列表生成构建器
- Error
Retrier - 根据七牛 API 返回的状态码作出重试决定
- Generator
Options - 生成下载 URL 的选项
- Never
Retrier - 永不重试器
- Retried
Stats Info - 重试统计信息
- Retry
Result - 重试器结果
- Static
Domains Urls Generator - 静态公开空间域名下载 URL 列表生成器
- Static
Domains Urls Generator Builder - 静态公开空间域名下载 URL 列表生成构建器
- Urls
Signer - URL 列表签名器
Enums§
- Download
Error - 下载错误
- Retry
Decision - 重试决定
Traits§
- Download
Retrier - 下载重试器
- Download
Urls Generator - 生成下载 URL 列表的接口
Type Aliases§
- Download
Result - 下载结果