Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

144
Vistas
Lectura de la propiedad de búfer de cada archivo cargado, cuando hay varios

Estoy tratando de cargar varios archivos en mi servidor usando multer . Aunque puedo leer la matriz req.files , pero no puedo acceder a la propiedad de buffer de ellos. console.log ging ellos, lo que solo da como resultado undefined .

Este es mi código html (ejs):

 <form method="post" action="/send" enctype="multipart/form-data"> <div class="row"> <div class="col"> <input type="file" multiple class="form-control" name="files" /> </div> <div class="col text-end"> <input type="submit" class="btn btn-primary w-100" /> </div> </div> </form>

La ruta:

 const express = require("express"); const router = express.Router(); const multer = require("multer"); const upload = multer({ dest: "uploads/" }); const indexController = require("../controllers/index.controller"); router.post("/send", upload.array("files", 5), indexController.send); module.exports = router;

... el controlador:

 exports.send = async (req, res) => { ... console.log(req.files); // [ { fieldname: 'files', ..., size: 1576 } ] console.log(req.files.map((f) => f.buffer)); // [ undefined ] ... }

¿Cómo leo la propiedad .buffer de cada archivo, cuando hay varios? Cualquier ayuda es apreciada.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Estoy usando memoryStorage y todavía no puedo resolver esto. No obtendré el archivo de búfer en la opción de filtro Multers , solo en el nivel de los controladores. Probé este código pero solo obtengo estos campos (sin búfer)

// RESPUESTA (falta el búfer)

 { fieldname: 'formImages', originalname: 'file-test.jpeg', encoding: '7bit', mimetype: 'image/jpeg' }

// CÓDIGO:

 const multer = require("multer"); const sharp = require("sharp"); const sharpFilter = async (req, file, cb) => { const locationPath = `${process.env.UPLOAD_FOLDER + "/" + file.originalname}`; await sharp(file) .resize({ width: 2000, height: 2000, fit: "cover", }) .toFile(locationPath); cb(null, true); }; exports.upload = multer({ storage: multer.memoryStorage(), fileFilter: sharpFilter, });
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda