Express предоставляет удобный способ передачи файла в виде вложения: Ответ.скачать() .
Как только пользователь выберет маршрут, который отправляет файл с помощью этого метода, браузеры запросят пользователя для загрузки.
Ответ .метод download() позволяет отправить файл, прикрепленный к запросу, и браузер вместо того, чтобы показывать его на странице, сохранит его на диске.
app.get('/', (req, res) => res.download('./file.pdf'))В контексте приложения:
const express = require('express')
const app = express()
app.get('/', (req, res) => res.download('./file.pdf'))
app.listen(3000, () => console.log('Server ready'))Вы можете настроить отправку файла с пользовательским именем файла:
res.download('./file.pdf', 'user-facing-filename.pdf')Этот метод предоставляет функцию обратного вызова, которую вы можете использовать для выполнения кода после отправки файла:
res.download('./file.pdf', 'user-facing-filename.pdf', (err) => {
if (err) {
//handle error
return
} else {
//do something
}
})Оригинал: “https://flaviocopes.com/express-send-files/”