Express.js Функция res.sendFile ()
Функция res.sendFile () в основном передает файл по заданному пути и устанавливает поле HTTP-заголовка ответа Content-Type на основе расширения имени файла.
Синтаксис:
res.sendFile (путь [, параметры] [, fn])
Параметр: параметр path описывает путь, а параметр options содержит различные свойства, такие как maxAge, root и т. Д., А fn - функция обратного вызова.
Возврат: он повторно настраивает объект.
Установка экспресс-модуля:
- Вы можете перейти по ссылке, чтобы установить экспресс-модуль. Вы можете установить этот пакет с помощью этой команды.
npm установить экспресс
- После установки экспресс-модуля вы можете проверить свою экспресс-версию в командной строке с помощью команды.
npm версия экспресс
- После этого вы можете просто создать папку и добавить файл, например index.js. Чтобы запустить этот файл, вам необходимо выполнить следующую команду.
узел index.js
Пример 1: Имя файла: index.js
var express = require( 'express' ); var app = express(); var path = require( 'path' ); var PORT = 3000; // Without middleware app.get( '/' , function (req, res){ var options = { root: path.join(__dirname) }; var fileName = 'Hello.txt' ; res.sendFile(fileName, options, function (err) { if (err) { next(err); } else { console.log( 'Sent:' , fileName); } }); }); app.listen(PORT, function (err){ if (err) console.log(err); console.log( "Server listening on PORT" , PORT); }); |
Теперь создайте файл .txt, как здесь, мы создали Hello.txt в корневом каталоге проекта со следующим текстом:
Привет от GeeksforGeeks
Шаги по запуску программы:
- Убедитесь, что вы установили экспресс- модуль, используя следующую команду:
npm установить экспресс
- Запустите файл index.js, используя команду ниже:
узел index.js
Выход:
Сервер прослушивает PORT 3000
- Теперь откройте браузер и перейдите по адресу http: // localhost: 3000 / , теперь проверьте свою консоль, и вы увидите следующий вывод:
Сервер прослушивает PORT 3000 Отправлено: Hello.txt
И на экране вы увидите следующий вывод:
Привет от GeeksforGeeks
Пример 2: Имя файла: index.js
var express = require( 'express' ); const path = require( 'path' ); var app = express(); var PORT = 3000; // With middleware app.use( '/' , function (req, res, next){ var options = { root: path.join(__dirname) }; var fileName = 'GeeksforGeeks.txt' ; res.sendFile(fileName, options, function (err) { if (err) { next(err); } else { console.log( 'Sent:' , fileName); next(); } }); }); app.get( '/' , function (req, res){ console.log( "File Sent" ) res.send(); }); app.listen(PORT, function (err){ if (err) console.log(err); console.log( "Server listening on PORT" , PORT); }); |
Убедитесь, что вы создали файл .txt, как здесь, мы создали GeeksforGeeks.txt в корневом каталоге проекта со следующим текстом:
Добро пожаловать от GeeksforGeeks
Запустите файл index.js, используя команду ниже:
узел index.js
Теперь откройте браузер и перейдите по адресу http: // localhost: 3000 / , теперь проверьте свою консоль, и вы увидите следующий вывод:
Сервер прослушивает PORT 3000 Отправлено: GeeksforGeeks.txt Файл отправлен
И вы увидите следующий вывод на экране вашего браузера:
Добро пожаловать от GeeksforGeeks
Ссылка: https://expressjs.com/en/5x/api.html#res.sendFile