3个不稳定版本
0.2.0 | 2020年1月21日 |
---|---|
0.1.2 | 2020年1月19日 |
0.1.0 | 2020年1月19日 |
#160 在 #lib
每月45次下载
在 2 个crate中使用
19KB
118 行
download_rs
使用Rust编写的一个简单的 download
下载库
简单使用
sync_download
- cargo
download_rs = {version="0.2.0",features=["sync_download"]}
- 代码
use download_rs::sync_download::Download;
use std::error::Error;
use std::fs;
fn main() {
let url = "https://www.baidu.com/img/bd_logo1.png";
// 当前目录
let filename = "bd_log1.png";
// 指定 下载目录
// let filename = "/download/";
// 指定下载目录下载文件名,需要手动创建下载文件夹
// let filename = "download/bd_log1.png";
let download = Download::new(url,Some(filename),None);
match download.download() {
Ok(_) => println!("下载完成"),
Err(e) => println!("下载出错 : {}",e.to_string()),
}
// 删除图片
// fs::remove_file(filename).unwrap();
}
async_download
- cargo
download_rs = "0.2.0"
或
download_rs = {version="0.2.0",features=["async_download"]}
- 代码
use download_rs::async_download::Download;
use std::fs;
fn main() {
let url = "https://www.baidu.com/img/bd_logo1.png";
// 当前目录
let filename = "bd_log1.png";
// 指定 下载目录
// let filename = "/download/";
// 指定下载目录下载文件名,需要手动创建下载文件夹
// let filename = "download/bd_log1.png";
let download = Download::new(url,Some(filename),None);
match download.download() {
Ok(_) => println!("下载完成"),
Err(e) => println!("下载出错 : {}",e.to_string()),
}
// 删除图片
// fs::remove_file(filename).unwrap();
}
async_download_default
- cargo
download_rs = "0.2.0"
或
download_rs = {version="0.2.0",features=["async_download"]}
- 代码
use download_rs::async_download::Download;
use std::fs;
#[tokio::main]
async fn main() {
let url = "https://www.baidu.com/img/bd_logo1.png";
// 当前目录
let filename = "bd_log1.png";
// cargo test sync_download_test
// let url = "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png";
// let proxy = Some("http://127.0.0.1:7890");
// let filename = "sync_bd_logo1.png";
// 指定 下载目录
// let filename = "/download/";
// 指定下载目录下载文件名,需要手动创建下载文件夹
// let filename = "download/bd_log1.png";
let download = Download::new(url,Some(filename),None);
// let download = Download::new(url,Some(filename),proxy);
match download.download_async().await {
Err(e) => panic!("error: {}",e.to_string()),
Ok(()) => println!("ok")
}
// 删除图片
// fs::remove_file(filename).unwrap();
}
版本说明
0.2.0
- 使用new方法创建Download对象
- 添加proxy字段
- 与0.1.0不兼容 🤭🤭🤭🤭
依赖
~2–14MB
~195K SLoC