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

357
Vistas
ENOENT: no existe tal archivo o directorio Nodejs

Estoy tratando de importar imágenes que tengo almacenadas en una carpeta llamada recursos ubicada en la sección del servidor.

Cuando coloco las imágenes en la carpeta de la aplicación en mi disco local, funciona bien, pero como esto tiene que implementarse en nuestro servidor en vivo, hace que sea difícil tener que copiar archivos de un lado a otro.

El error que obtengo:

Error: ENOENT: no existe tal archivo o directorio, abra '../../resources/cp_pdf_logo.png' en Object.openSync (nodo:fs:585:3) en Object.readFileSync (nodo:fs:453:35) en RouteEmails.orderAuth (C:\Development\kaizen\server\routes\emails\file:\C:\Development\kaizen\server\routes\emails\func.js:187:43) en RouteEmails.sendMail (C:\ Development\kaizen\server\routes\emails\file:\C:\Development\kaizen\server\routes\emails\func.js:430:17) en RouteOrders.orderAuthorizedMail (C:\Development\kaizen\server\routes\ orders\file:\C:\Development\kaizen\server\routes\orders\func.js:840:24) en processTicksAndRejections (nodo:internal/process/task_queues:96:5) en RequestRouter._routeRequest (C:\Development \kaizen\server\socketController\file:\C:\Development\kaizen\server\socketController\requestRouter.ts:64:34) en RequestRouter.processMessage (C:\Development\kaizen\server\socketController\file:\C: \Desarrollo\kaizen\servidor\socketController\requestRouter.ts:43:9) en Socket. (C:\Desarrollo\kaizen\servidor\socketController\archivo:\C:\Desarrollo\kaizen\servidor\socketController\socketClient.ts:62:7) { errno: -4058, syscall: 'abierto', código: 'ENOENT ', ruta: '../../resources/cp_pdf_logo.png' }

Aquí hay un ejemplo de mi código:

 let ordercplogo = this.base64_encode("../../resources/cp_pdf_logo.png") let orderthankyoulogo = this.base64_encode("../../resources/thankyou_logo.png") // let ordercplogo = this.base64_encode("/app/resources/cp_pdf_logo.png"); // let orderthankyoulogo = this.base64_encode("/app/resources/thankyou_logo.png");

La sección comentada es lo que funciona, pero en la imagen de abajo puedes ver que tengo estos archivos almacenados dentro de la aplicación.

ingrese la descripción de la imagen aquí

¿Alguien puede decirme qué estoy haciendo mal?

PD. También he intentado importar las imágenes de arriba con

 const logo1 = require("../../resources/image.png")

pero tampoco funciona y arroja otro error.

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Su función probablemente intente encontrar la imagen relativa al directorio de trabajo. Hace una diferencia si fueras a hacer cd /; node /app/index.js o cd /app; node index.js . El directorio de trabajo puede ser diferente en su entorno en vivo que localmente.

Hay una serie de funciones para ayudarlo a encontrar la ruta a un archivo en el módulo de path incorporado.

Supongamos que está en un archivo llamado routes/companies/a.js :

 const { resolve } = require('path'); this.base64_encode(resolve(__dirname, "../../resources/cp_pdf_logo.png")); // Will find the absolute path to the file.

(página de documentación path.relative )

En los archivos CommonJS (archivos que usan require() ), el valor __filename siempre se refiere al archivo en el que se encuentra, en lugar del archivo de secuencia de comandos principal (por lo tanto, /app/routes/companies.a.js en este ejemplo) y __dirname es el directorio en el que se encuentra. in. Ese es el mismo valor, sin la parte a.js

about 4 years ago · Santiago Gelvez Denunciar
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