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

129
Visualizações
Attempting to create custom directory during image upload with Multer

I am attempting to create a directory based on the body of the request. Here is the code:

const storage = multer.diskStorage({
    destination: function(request, file, callback) {  
        let userUploadDir = uploadDir + '/' + request.body.user + '/' + request.body.address;
        fs.access(userUploadDir, async (err) => {
            if (err) {
                await fs.promises.mkdir(userUploadDir, { recursive: true });
            }
        }); 
        callback(null, userUploadDir);
    },

    filename: function(request, file, callback) {
        let date = new Date();
        let stringDate = date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate() + "-" + date.getHours() + "-" + date.getMinutes();
        let newFileName = stringDate + "-" +  file.originalname;
        callback(null, newFileName);
    },

    fileFilter: function(request, file, callback) {
        let ext = path.extname(file.originalname);
        if (ext !== ".png" && ext !== ".jpg" && ext !== ".jpeg" && ext !== ".webp") {
            return callback(new Error("Only images are allowed"));
        }
        callback(null, true);
    }
});

const upload = multer({
    storage: storage,
    limits: {
        fileSize: 1024 * 1024 * 5
    }
});

router.post("/image", upload.fields([{ name: 'file', maxCount: 3 }]), async (request, response, next) => {
     response.json({
         "message":"Successful file uploaded."
     })
}

My issue is that when this code is run, it will create the directory, but the file will not save to it and I cannot figure out what I am doing wrong here.

about 4 years ago · Juan Pablo Isaza
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