Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

177
Visualizações
Multer no encuentra la carpeta que si existe para guardar imágenes

Estoy tratando de cargar imágenes usando Multer y aunque la carpeta de destino existe Multer me dice el error de que no puede encontrar la carpeta, este es mi código:

 import { Router } from 'express'; import { check, validationResult } from 'express-validator'; const path = require('path'); const multer = require('multer') const storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, path.join(__dirname, '../uploads/')) }, filename: function (req, file, cb) { cb(null, new Date().toISOString() + file.originalname) } }); const fileFilter = (req, file, cb) => { if (file.mimetype === "image/png" || file.mimetype === "image/jpg" || file.mimetype === "image/jpeg") { cb(null, true); } else { cb(null, false); return cb(new Error('Only .png, .jpg and .jpeg format allowed!')); } }; const upload = multer( { storage: storage, limits:{ fileSize: 1024 * 1024 }, fileFilter: fileFilter }) let router = Router(); router.post('/', upload.single('img'), newProduct );

Pero al hacer la prueba de Postman me dice el error:

Error: ENOENT: no existe tal archivo o directorio, abra 'C:\project\uploads\2022-02-11T03:17:32.711Zcloud.png'

Lo extraño es que la ruta de la carpeta existe:

ruta

Y mas raro es que si uso el codigo basico de multer sin usar multer.diskStorage si puedo guardar en la carpeta de esta forma:

 const express = require('express') const multer = require('multer') const upload = multer({ dest: 'uploads/' })

Realmente no sé por qué cuando se usa simplemente si muestra la ruta que existe pero Multer no puede encontrar el directorio aunque exista.

Gracias.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Cambié esta línea:

 cb(null, new Date().toISOString() + file.originalname)

Por esta línea:

 cb(null, new Date().toISOString().replace(/:/g, '-') + file.originalname)

Reemplazar los dos puntos con un guión significa que Windows no parece entender correctamente las rutas de los dos puntos.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda