Express.js Функция res.sendFile ()

Опубликовано: 30 Июля, 2021

Функция res.sendFile () в основном передает файл по заданному пути и устанавливает поле HTTP-заголовка ответа Content-Type на основе расширения имени файла.

Синтаксис:

 res.sendFile (путь [, параметры] [, fn])

Параметр: параметр path описывает путь, а параметр options содержит различные свойства, такие как maxAge, root и т. Д., А fn - функция обратного вызова.

Возврат: он повторно настраивает объект.

Установка экспресс-модуля:

  1. Вы можете перейти по ссылке, чтобы установить экспресс-модуль. Вы можете установить этот пакет с помощью этой команды.
     npm установить экспресс
  2. После установки экспресс-модуля вы можете проверить свою экспресс-версию в командной строке с помощью команды.
     npm версия экспресс
  3. После этого вы можете просто создать папку и добавить файл, например 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

Шаги по запуску программы:

  1. Убедитесь, что вы установили экспресс- модуль, используя следующую команду:
     npm установить экспресс
  2. Запустите файл index.js, используя команду ниже:
     узел index.js

    Выход:

    Сервер прослушивает PORT 3000
    
  3. Теперь откройте браузер и перейдите по адресу 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