Cómo subir archivos al servidor con NodeJS


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.


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
Bash
Con la carpeta creada, el siguiente paso es iniciar el proyecto de Node con el siguiente comando:
npm init -y
Bash
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
Bash
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())
JavaScript
Ahora lo que haremos sera configurar la ruta que usaremos para subir el archivo.
app.post('/upload',(req,res) => {
    
})
JavaScript
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' })
    })
})
JavaScript
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'))
JavaScript
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>
JavaScript
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.
SHARE

Oscar perez

Arquitecto especialista en gestion de proyectos si necesitas desarrollar algun proyecto en Bogota contactame en el 3006825874 o visita mi pagina en www.arquitectobogota.tk

  • Image
  • Image
  • Image
  • Image
  • Image
    Blogger Comment
    Facebook Comment

0 comentarios:

Publicar un comentario