Comunidad de diseño web y desarrollo en internet online

Cómo subir archivos con Express.js

El framework más conocido de Node.js es Express.js que nos ayuda a manejar la parte de request and response en nuestra aplicación.

Para permitir que el cliente envíe datos usamos en nuestra configuración de la aplicación del archivo app.js lo siguiente:

Código :

var body_parser   = require('body-parser')
app.use(body_parser()) //Express 4


Y para que el cliente nos envíe archivos podemos implementar el siguiente módulo:

Código :

var multipart = require('connect-multiparty'),
app.use(multipart()) //Express 4


Empecemos y creemos un formulario:

Código :

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


y configuramos la ruta de subida:

Código :

app.post('/upload', function(req, res) {
   //El modulo 'fs' (File System) que provee Nodejs nos permite manejar los archivos
   var fs = require('fs')

   var path = req.files.archivo.path
   var newPath = 'carpetaArchivos'

   var is = fs.createReadStream(path)
   var os = fs.createWriteStream(newPath)

   is.pipe(os)

   is.on('end', function() {
      //eliminamos el archivo temporal
      fs.unlinkSync(path)
   })
   res.send('¡archivo subido!')
})


Esta es una manera fácil de subir archivo con node.js por medio de Expressjs, claro, existen otras maneras pero para mí es la más cómoda.

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate