Pasar al contenido principal
Alexys Lozada
José Luján
Manuel Rodriguez
José Luján
Luis Avilés
Álvaro Felipe
José Luján
Beto Quiroga
Jonathan MirCha
Jonathan MirCha
Álvaro Felipe
Alexys Lozada, Álvaro Felipe, Jonathan MirCha
Beto Quiroga
Alexys Lozada
Alexys Lozada
José Luján
Álvaro Felipe
Álvaro Felipe
Jonathan MirCha
Jonathan MirCha
Alexys Lozada, José Luján
Alexys Lozada, José Luján
Alexys Lozada, José Luján
Camilo Adobe
Álvaro Felipe
José Luján
Jonathan MirCha
Álvaro Felipe
Álvaro Felipe
Beto Quiroga, Alexys Lozada
Álvaro Felipe
Juan Villalvazo
Luis Avilés
Jonathan MirCha
Jonathan MirCha
Jonathan MirCha

Cómo subir archivos al servidor con NodeJS

Existen librerías que hacen que subir archivos al servidor con Nodejs sea muy fácil y en este post te explico como usarlas.

Cómo subir archivos al servidor con NodeJS

Como se dijo anteriormente en el post de ¿Cómo subir archivos al servidor con Go (golang) y Ajax? una de las tareas más comunes de un desarrollador hoy en día es subir archivos a un servidor y esta tarea es muy fácil de realizar con Nodejs.

En node existen librerias excelentes para subir archivos tales como Multer y Express-fileupload y en este tutorial utilizaremos este último, para subir nuestros archivos y guardarlos en un directorio específico de nuestro servidor.

Como primer paso crearemos una carpeta para desarrollar nuestro proyecto:

mkdir file-upload-demo

Con la carpeta creada, el siguiente paso es iniciar el proyecto de Node con el siguiente comando:

npm init -y

Ya con esto hecho podemos proceder a instalar las dependencias necesarias, express para configurar la ruta desde la que subiremos el archivo y la segunda servirá para subirlo:

npm i -S express express-fileupload

Importamos las dependencias y configuramos la aplicación de express, en un nuevo archivo llamado app.js:

const express = require('express')
const fileUpload = require('express-fileupload')

const app = express()

app.use(fileUpload())

Ahora lo que haremos sera configurar la ruta que usaremos para subir el archivo.

app.post('/upload',(req,res) => {
    
})

Lo siguiente es agregar en la ruta, el código necesario para subir el archivo y para guardarlo en un directorio de nuestro servidor:

app.post('/upload',(req,res) => {
    let EDFile = req.files.file
    EDFile.mv(`./files/${EDFile.name}`,err => {
        if(err) return res.status(500).send({ message : err })

        return res.status(200).send({ message : 'File upload' })
    })
})

Básicamente lo que estamos haciendo es guardar en la variable EDFile, el archivo que estamos subiendo, después utilizamos el método mv() el cuál es el que ubica nuestro archivo en un lugar específico de nuestro servidor, en este caso será una carpeta en la raiz del proyecto llamada files, y a continuación ejecutamos un callback que recibe un error, verificamos si el error existe y de ser así lo informamos al usuario en caso contrario mandamos un codigo 200 informando el éxito de la operación.

Para terminar con el código en app.js, vamos a levantar el servidor de express con la siguiente linea de código:

app.listen(3000,() => console.log('Corriendo'))

Para probar nuestro código vamos crear un archivo html en el cuál usaremos un formulario para subir nuestros archivos:

<form action='http://localhost:3000/upload' method="POST" enctype="multipart/form-data">
        <input type="file" name="file">
        <input type="submit" value="Subir">
</form>

Espero que te haya gustado y recuerda que en EDteam tenemos un maravilloso curso de NodeJS para que amplies tus conocimientos en esta tecnología.

Hasta la próxima.

Suscríbete al blog de EDteam

Ingresa tu correo electrónico para recibir nuestro boletín semanal