Node.js Enviar archivo al cliente

Shraddha Paghdar 15 febrero 2024
Node.js Enviar archivo al cliente

En este artículo, aprenderemos a enviar archivos al cliente en Node.js mediante Express.

Use Express para enviar archivos en Node.js

Express.js o Express es un marco de utilidad web de back-end para Node.js. Express es un marco de aplicación web de Node.js que proporciona un conjunto de características sólidas para aplicaciones web y móviles.

La función res.sendFile() pasa el archivo en la ruta especificada y establece el campo Encabezado HTTP para la respuesta de tipo de contenido según la extensión del nombre de archivo.

Sintaxis:

res.sendFile(path[, options][, fn])
Parámetros Descripción
path Un parámetro obligatorio que describe la ruta del archivo que debe enviarse.
options Un parámetro opcional que contiene varias propiedades como maxAge, root, etc., del archivo que se envía.
fn Una función de devolución de llamada invocada cuando el archivo.

Siga las instrucciones a continuación para enviar el archivo al cliente.

  1. Instale el paquete Express.

    $ npm install express
    
  2. Cree un archivo index.js y ejecute el siguiente comando.

    node index.js
    
  3. Cree un archivo holamundo.txt.

    Hello World!
    
  4. Ejecute el archivo index.js pasando el fragmento de código a continuación.

Código fuente completo - index.js:

const express = require('express');
const app = express();
const path = require('path');
const PORT = 3001;

app.get('/', (req, res, next) => {
  const fileName = 'helloworld.txt';
  res.sendFile(fileName, {root: path.join(__dirname)}, (err) => {
    if (err) {
      next(err);
    } else {
      console.log('File Sent:', fileName);
    }
  });
});

app.listen(PORT, (err) => {
  if (err) console.log(err);
  console.log('Server listening on PORT', PORT);
});

En el ejemplo anterior, creamos un servidor que escucha en el puerto 3001 especificado. Una vez que el servidor escuche el puerto especificado, ejecutará el código dentro de la primera ruta coincidente.

El objeto de respuesta se devolverá al cliente con el método sendFile(). Si se encuentra algún error, pasará el error al controlador de errores usando el método next().

Si todo va bien, devolverá el objeto de respuesta al cliente con el contenido del archivo.

Intente ejecutar el código anterior en replit, que es compatible con Node.js, y mostrará el siguiente resultado.

Producción :

Server listening on PORT 3001
File Sent: helloworld.txt

Use Express para enviar archivos en Node.js

Ejecutar demostración de código

Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn