2 个稳定版本
1.1.0 | 2022 年 8 月 13 日 |
---|---|
1.0.0 | 2022 年 8 月 12 日 |
#1532 in 文件系统
12KB
186 代码行
passionfruit
一个 Rust 库,用于从互联网上获取文件,并可选择性下载。简而言之,是一个 reqwest
接口。
示例
与 reqwest
类似,此示例使用模块 tokio
来使 fn main()
异步
use tokio;
use directories;
use passionfruit;
#[tokio::main]
async fn main() {
match passionfruit::Download::new("https://i.imgur.com/ISfpRae.jpeg").start().await {
Ok(result) => {
if let Ok(_) = result.write_to(
directories::UserDirs::new()
.unwrap()
.desktop_dir()
.unwrap()
.to_str()
.unwrap()
.to_string(),
"lol".to_string()
) {
println!("Download completed!")
}
}
Err(why) => panic!("It appears something went wrong: {}", why)
}
}
一个不使用 tokio
而使用 futures
的示例
use futures;
use directories;
use passionfruit;
fn main() {
let download = futures::executor::block_on(
passionfruit::Download::new("https://i.imgur.com/8iiChzd.jpeg").start(),
);
match download {
Ok(result) => {
if let Some(dirs) = directories::UserDirs::new() {
result.write_to(
dirs.document_dir()
.unwrap()
.to_str()
.unwrap()
.to_string(),
"out".to_string()
).unwrap();
}
},
Err(why) => panic!("An error occured: {}", why)
}
}
依赖项
~13–25MB
~252K SLoC