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

294
Visualizações
Cómo actualizar archivos/imágenes con patch api y paquete multer

Como puede ver mis códigos, creé un modelo de usuario e importé aquí (dentro del controlador) y también importé un middleware de carga desde mi otra carpeta de directorio donde se escriben códigos para cargar archivos/imágenes usando el paquete multer y todo está bien y carga perfectamente el archivo usando post api.

lo que estoy haciendo aquí -> creé un modelo de esquema de usuario y un middleware para cargar archivos usando el paquete multer y el controlador para la publicación de operaciones crudas, obtener, parchear y eliminar, publicar api está bien, funciona bien pero para el parche

lo que quiero hacer -> Quiero actualizar profile_pic a través de (req.params.id) cuando uso patch api en postman para actualizar, de modo que se cargue en el directorio de carga, pero al mismo tiempo recibí un error llamado (Cast to ObjectId falló por valor) en el cartero y parece que no actualizo mis datos

 const express = require('express'); const User = require('../models/user.model'); const upload = require('../middlewares/file_upload') const router = express.Router(); router.post('/',upload.single("profilePic"),async (req, res) => { try { const users = await User.create({ first_name:req.body.first_name, last_name:req.body.last_name, profile_pic:req.file.path, }) return res.status(201).send({users}) } catch(e) { return res.status(500).json({message:e.message,status:"Failed"}) } }) `Here below the problem is, Can anyone help me out to this problem` router.patch('/:id',upload,async (req, res) => { try { const user = await User.findByIdAndUpdate({ first_name:req.params.id, last_name:req.params.id, profile_pic:req.file.path, },{req.body}, { new:true}) return res.status(201).send({user}) } catch(e) { return res.status(500).json({message:e.message,status:"Failed"}) } }) module.exports = router;
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Prueba este código:

 router.patch('/:id',upload.single("profilePic"),async (req, res) => { try { const user = await User.findByIdAndUpdate( mongoose.Types.ObjectId(req.params.id), { profile_pic: req.file.path } ); return res.status(201).send({user}) } catch(e) { return res.status(500).json({message:e.message,status:"Failed"}) } })

El problema es que está encontrando al usuario por nombre y apellido, que no son identificaciones. Necesita encontrar al usuario por la identificación del objeto.

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