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

165
Visualizações
La imagen no puede ser una matriz o un objeto

Estoy desarrollando un proyecto que consiste en publicar un post y poder subir una imagen de usuario. Usé JS para Front y NodeJs para Back (Multer para cargar imágenes). Tengo un error al hacer una publicación y cargar una imagen en mi DDBB en Mysql. Creé las publicaciones sin ningún error, pero cuando implementé la capacidad de enviar una imagen, obtuve este error:

violación de cadena: la imagen no puede ser una matriz o un objeto

Código:

 //Here call the action from PostActions const addPost = (body) => dispatch(createPostAction(body)); const userId = props.credentials?.user.id //Formate the picture const formdata = new FormData(); formdata.append('image', image, userId); const user = post.user; const token = post.token; //Create the post addPost({ title, content, image, userName: post.name, lastName: post.lastName, date: new Date(), userId: user.id, token: token, });
 //My route router.post("/", authenticate, fileUpload, async(req, res) => { try { const id = req.body; const image = req.file; res.json(await postControllers.makePost(id, image)) } catch (error) { return res.status(500).json({ message: error.message }); } });
 //My controller async makePost(post) { return Post.create(post); }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

No recomiendo almacenar imágenes en una base de datos mysql ni en ninguna base de datos en general.

La forma más común de manejar la imagen la carga para almacenar una imagen en un sistema de almacenamiento de archivos como Amazon S3 o Cloudfront, y luego almacena la URL de la imagen que recibe (que generalmente es la ruta del archivo a la imagen y es una cadena), en la base de datos.

Esto se debe tanto a la optimización del rendimiento como del ancho de banda.

Sin embargo, si desea almacenarlo en su base de datos MySQL, debe almacenarlo como un blob. Ex:

 CREATE TABLE 'test'.'pic' ( 'pic' INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, 'img' LONGBLOB NOT NULL, PRIMARY KEY ('pic') )

Esta infracción de cadena podría deberse a que MySQL espera una cadena (ruta a una imagen) y no está configurado para recibir un tipo de blob.

Para probar, intente pasar una cadena como el valor de la clave de la imagen y vea si la publicación se realiza correctamente.

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