Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

358
Views
Carga de archivo formidable es cargar el archivo

He estado tratando de hacer que esto funcione desde ayer y, sin embargo, no puedo encontrar una guía/tutorial que pueda seguir o que funcione.

Estoy probando esta guía https://medium.com/@ShiyaLuo/simple-file-upload-with-express-js-and-formidable-in-node-js-d734d248d615 pero cuando presiono el botón de carga no pasa nada. Reanudo los pasos:

  1. Crear una nueva carpeta
  2. cd en esa carpeta
  3. Abra una terminal y copie y pegue este npm init -y
  4. copiar y pegar npm install express formidable
  5. Crea app.js y pega este código
 var express = require('express'); var formidable = require('formidable'); var app = express(); app.get('/', function (req, res){ res.sendFile(__dirname + '/index.html'); }); app.post('/', function (req, res){ var form = new formidable.IncomingForm(); form.parse(req); form.on('fileBegin', function (name, file){ file.path = __dirname + '/uploads/' + file.name; }); form.on('file', function (name, file){ console.log('Uploaded ' + file.name); }); res.sendFile(__dirname + '/index.html'); }); app.listen(3000);
  1. crea index.html y copia y pega este código
 <!DOCTYPE html> <html> <head> <title>Simple Upload Example</title> </head> <body> <form action="/" enctype="multipart/form-data" method="post"> <input type="file" name="upload" multiple> <input type="submit" value="Upload"> </form> </body> </html>
  1. Vaya a http://localhost:3000/ y pruébelo

Verá el archivo de entrada y el botón de carga, una vez que seleccione el archivo (.jpg), haga clic en el botón y lo que se supone que sucede es cargar el archivo en la carpeta de carga, pero no sucede, ¿soy solo yo? o falta algo ahí? porque es más o menos el mismo código que encontrarás en muchos sitios y tutoriales de YouTube.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Encontré la solución, aprendí que tenía que reemplazar el valor actual de la ruta del archivo con el nuevo en el Objeto de archivo, que viene dado por file.path = __dirname + '/uploads/' + file.name; pero aquí está el problema, el nombre de la variable era filepath en lugar de path , y el nombre del archivo era originalFilename en lugar de name , te mostraré, mira esto:

 form.on('fileBegin', function (name, file){ console.log(file) file.path = __dirname + '/uploads/' + file.name; });

Tomé esto del código original anterior. ¿Ves ese console.log(file) ? esto es lo que muestra en la consola:

 PersistentFile { _events: [Object: null prototype] { error: [Function (anonymous)] }, _eventsCount: 1, _maxListeners: undefined, lastModifiedDate: null, filepath: 'C:\\Users\\CAMPES~1\\AppData\\Local\\Temp\\826f34463d178155ab6434e00', newFilename: '826f34463d178155ab6434e00', originalFilename: 'aaa.jpeg', mimetype: 'image/jpeg', hashAlgorithm: false, size: 0, _writeStream: null, hash: null, [Symbol(kCapture)]: false }

Podemos ver que el nombre de las variables es filepath de archivo y nombre de archivo originalFilename , por lo que la parte del código anterior debe verse así

 form.on('fileBegin', function (name, file){ file.filepath = __dirname + '/uploads/' + file.originalFilename; });

Y el resto del código sigue siendo el mismo y eso es todo, no estoy seguro si este hilo debe eliminarse, pero lo dejaré aquí por si alguien lo necesita.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!