172 похожих чатов

Use tokio; use tokio::io::{AsyncReadExt, BufReader}; use futures::stream::{TryStreamExt, StreamExt}; use async_compression; use scraper::{Html, Selector}; mod config; mod

bucket;

use crate::bucket::Bucket;
use crate::config::Settings;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
// let bucket = <some config code>
let response = bucket.client
.get_object()
.bucket(&bucket.name)
.key(key)
.send()
.await?;

let body = response.body
.map_err(|err| std::io::Error::new(std::io::ErrorKind::Other, err));

let stream_reader = tokio_util::io::StreamReader::new(body);
let buf_reader = BufReader::new(stream_reader);
let tar = async_compression::tokio::bufread::GzipDecoder::new(buf_reader);
let mut tarball = tokio_tar::Archive::new(tar);
let mut entries = tarball.entries().unwrap();

while let Some(file) = entries.next().await {
let mut f = file?;
let mut str = String::new();
f.read_to_string(&mut str).await?;
println!("{}", f.header().path().unwrap().display());
}
println!("{:?}", entries.next().await);
println!("Done");
Ok(())
}

8 ответов

47 просмотров

А что такое «останавливается»? Зависает или заявляет, что больше нет файлов?

Выглядит норм Ты проверил через tar tv, что их там реально несколько?

Arseniy-Lebedev Автор вопроса
Max Силинг
Выглядит норм Ты проверил через tar tv, что их там...

Я пробовал выполнять в блокирующем куске кода на оригинальном tar, но результат был тот же самый Да-да, unpack пробовал и так же я этот файл до того JS-ом распарсил

Arseniy Lebedev
Я пробовал выполнять в блокирующем куске кода на о...

Так анпак распаковал один файл или все файлы?

Arseniy Lebedev
Один

А тар тв при этом показывает все? Воспроизводится только на этом или на любом тар-файле? В том тар-файле, на котором воспроизводится, есть что-то секретное?

Arseniy Lebedev
Один

Может с архивом проблемы? Создай ещё один архив с несколькими файлами только другими.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта