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

302
Views
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 answers
Answer question

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 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!