@Geckyhit

Как трансформировать поток из write в read?

Ребят, сразу скажу, что я больше по фронту, поэтому попрошу не кидать помидорами за невежество.
Вообщем, не могу решить такую задачу связанную с потоками.
Задача такая, что мы выкачиваем файл с помощью request и далее отправляем этот файл на какой-то API (этот API принимает поток чтения - ReadStream).
в текущий момент реализация выглядит грубо говоря так:
(не устраивает, то что нужно создавать временный файл)
request(audioLink)
            .pipe(fs.createWriteStream(`./source/${fileName}`))
            .on('close', function () {
                ctx.replyWithVoice({
                    source: fs.createReadStream(`./source/${fileName}`)
                })
            })

т.е нам приходится пайпить в поток записи и по завершению создавать поток чтение, который мы передаем в другой метод (API).
Как можно реализовать подобное, но при этом не создавая этот временный файл файл?
Я наверное сейчас покажусь невероятным глупцом, но разве нельзя request трансформировать в поток чтение, что бы не создавать временный файл и сразу вызвать APi метод передав ему напрямую данные из request (повтороюсь, что API метод принимает ReadStream)
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
Xuxicheta
@Xuxicheta
инженер
оно? https://www.npmjs.com/package/request-stream

вообще по идее можно просто сделать
ctx.replyWithVoice({
  source: request(audioLink)
})

проверять я конечно не буду
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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