Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

227
Vistas
Cómo usar fs.readFile() y fs.writeFile() en el nodo js para almacenar una imagen en el proyecto y luego en MongoDB

Estoy trabajando en el backend de una aplicación MERN donde, usando cartero, tengo que cargar archivos jpg/jpeg... que se almacenan primero en un directorio "archivos" en mi proyecto y luego en la colección de archivos en MongoDB con ID como nombre ([id].jpg) . Tengo que usar fs.readFile() y fs.writeFile() para hacerlo, pero el resultado máximo que obtuve es "indefinido". Los archivos se almacenan temporalmente en una carpeta de mi PC y no sé cómo cambiar esto. Además tengo que obtener la extensión del archivo, y me sugirieron usar const array = file.name.split(“.”); const extension = array[array.length - 1].toLowerCase();

ESTE ES MI MODELO:

 const mongoose = require('mongoose'); const Schema = mongoose.Schema; const FileSchema = new Schema({ fileName: { type: String, required: true, }, fileType: { type: String, required: true, }, extension: { type: String, required: true, }, size: { type: String, required: true, }, }); module.exports = File = mongoose.model('file', FileSchema);

ESTE ES MI ARCHIVO SUBIDO:

 const File = require("../../models/File"); const express = require("express"); const formidableMiddleware = require("express-formidable"); const app = express(); app.use(formidableMiddleware()); const fs = require("fs"); module.exports = async (req, res) => { const test = ({ file } = req.files); console.log("the files store temporarly here", test["file"]["path"]); try { fs.readFile("C:\Users\grazi\AppData\Local\Temp", 'utf-8', (err, data) => { console.log(data); }); } catch (e) { console.log(e); } try { fs.writeFile("C:\Users\grazi\wa\Service-stats2\backend\files", 'C:\Users\grazi\wa\Service-stats2\backend\models\File.js', (err, data) => { console.log(data); }); } catch (e) { console.log(e); } };

SI ENVIO UNA SOLICITUD CON CARTERO ESTA ES LA SALIDA DE MI TERMINAL:

 the files store temporarly here: C:\Users\grazi\AppData\Local\Temp\upload_753ecef1d508a15025b20a29e07e65a3 undefined undefined
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda