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.
-
Instale el paquete Express.
$ npm install express
-
Cree un archivo
index.js
y ejecute el siguiente comando.node index.js
-
Cree un archivo
holamundo.txt
.Hello World!
-
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
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