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.
Por skrapy6 el 22 de Abril de 2014
Por juanvc123 el 23 de Abril de 2014
Por Alfchee el 25 de Abril de 2014
at abortIncoming (http.js:1912:11)
at Socket.serverSocketCloseListener (http.js:1924:5)
at Socket.EventEmitter.emit (events.js:117:20)
at TCP.close (net.js:466:12)
Alguna idea sobre mi error??