问题描述
我想使用板条箱indicatif显示文件的上传进度,我正在使用reqwest异步上传文件,如下所示:
use tokio::fs::File;
use tokio_util::codec::{BytesCodec,FramedRead};
let file = File::open(file_path).await?;
let stream = FramedRead::new(file,BytesCodec::new());
let body = Body::wrap_stream(stream);
client.put(url).body(body)
进度条的实现方式如下:
use indicatif::ProgressBar;
let bar = ProgressBar::new(1000);
for _ in 0..1000 {
bar.inc(1);
// ...
}
bar.finish();
如何从stream
:
let stream = FramedRead::new(file,BytesCodec::new());
// how on every chunk do X ?
let body = Body::wrap_stream(stream);
每次互动我都可以打bar.inc(1)
吗?
从文档中我看到有一个read_buffer,但是如何遍历它,以便我可以使用它来调用自定义函数,或者在我可以显示“ bytes”的情况下计算发送的字节数到目前为止”。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)