Отправьте поток файлов на клиент для загрузки через Express - PullRequest
0 голосов
/ 17 апреля 2020

Я создаю Node.js приложение, которое принимает строку, использует ее в функции, которая затем возвращает Filestream. Как отправить этот поток файлов через Express для загрузки клиентом с указанным именем c?

dls.get('/:id', (req, res, next) => {
    function(req.params.id).solution()
    next()
})
app.use('/download', dls)

1 Ответ

0 голосов
/ 17 апреля 2020

Не совсем понятно, что пытается сделать код, который вы показываете, так как мы не знаем, что такое dls.

Чтобы отправить поток файлов клиенту, вы делаете readstream.pipe(res), где readstream будет потоком файлов, который вы хотите отправить. Чтобы указать браузеру загрузить его в виде файла с предложенным именем, установите заголовок content-disposition , как в Content-Disposition: attachment; filename="filename.jpg".

Если вы пытаетесь получить один запрос, который настраивает вещи для другого запроса, который может использовать общий c URL-адрес, такой как /download, для получения контента, тогда это более сложный процесс, так как вам потребуется какое-то место (например, сеанс на стороне сервера) для хранения некоторого состояния, которое сообщит /download маршруту, какого пользователя и какую загрузку отправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...