Función Express.js res.sendFile()

La función res.sendFile() básicamente transfiere el archivo en la ruta dada y establece el campo de encabezado HTTP de respuesta de tipo de contenido en función de la extensión del nombre de archivo. 
Sintaxis: 

res.sendFile(path [, options] [, fn])

Parámetro: el parámetro de ruta describe la ruta y el parámetro de opciones contiene varias propiedades como maxAge, root, etc. y fn es la función de devolución de llamada.
Devoluciones: Devuelve un Objeto.
Instalación de módulo express: 

npm install express
  • Después de instalar el módulo express, puede verificar su versión express en el símbolo del sistema usando el comando. 
npm version express
  • Después de eso, puede simplemente crear una carpeta y agregar un archivo, por ejemplo, index.js. Para ejecutar este archivo, debe ejecutar el siguiente comando. 
node index.js

Ejemplo 1: Nombre de archivo: index.js 

javascript

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);
});

Ahora, cree un archivo .txt como aquí hemos creado Hello.txt en el directorio raíz del proyecto con el siguiente texto:  

Greetings from GeeksforGeeks

Pasos para ejecutar el programa: 

  • Asegúrese de haber instalado el módulo Express con el siguiente comando: 
npm install express
  • Ejecute el archivo index.js usando el siguiente comando: 
node index.js

Producción: 

Server listening on PORT 3000
  • Ahora abra el navegador y vaya a http://localhost:3000/ , ahora verifique su consola y verá el siguiente resultado: 
Server listening on PORT 3000
Sent: Hello.txt
  • Y en pantalla verás el siguiente resultado: 
Greetings from GeeksforGeeks

Ejemplo 2: Nombre de archivo: index.js 

javascript

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);
});

Asegúrese de crear un archivo .txt como aquí hemos creado GeeksforGeeks.txt en el directorio raíz del proyecto con el siguiente texto:  

Welcome from GeeksforGeeks

Ejecute el archivo index.js usando el siguiente comando:  

node index.js

Ahora abra el navegador y vaya a http://localhost:3000/ , ahora verifique su consola y verá el siguiente resultado:  

Server listening on PORT 3000
Sent: GeeksforGeeks.txt
File Sent

Y verá el siguiente resultado en la pantalla de su navegador:  

Welcome from GeeksforGeeks

Referencia: https://expressjs.com/en/5x/api.html#res.sendFile

Publicación traducida automáticamente

Artículo escrito por gouravhammad y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *