El elemento de imagen no se muestra. Muestra el archivo de imagen predeterminado con un nombre alternativo.
Aquí está mi código. Lo había renderizado con un avatar de objeto que tiene un valor nulo. Entonces, si es nulo, debería mostrar la imagen ../allUploadedPhoto/Avatar/no-profile-pic.jpg .
<div class="edit-container"> <div id="avatar"> <% if(Avatar){ %> <img src="<%=Avatar%>" width="100" height="100"> <% } else { %> <img src="../allUploadedPhoto/Avatar/no-profile-pic.jpg" alt="no-profile-pic" width="500" height="500"> <% } %> </div>Aquí está mi estructura de carpetas
project | |_ allUploadedPhoto | |_ Avatar | |_ no-profile-pic.jpg | |_view |_profile.ejsParece que está utilizando una ruta para la imagen relativa al archivo EJS. Debe usar una ruta al archivo que esté disponible en la URL desde la que se sirve la página resultante.
Esto variará dependiendo de cómo esté entregando su aplicación.
Cuando ejecuta su aplicación, digamos en localhost:3000 o example.com, la ruta del archivo sería algo así como /allUploadedPhoto/Avatar/no-profile-pic.jpg , pero dependerá de cómo esté sirviendo sus archivos.
Expresar
Dado que está usando EJS, voy a dar un gran salto para decir que puede estar usando Express , en cuyo caso, debe servir los archivos estáticos agregando la siguiente línea en su inicialización expresa:
app.use(express.static('public'))
Luego colocaría su imagen en una carpeta en la raíz de su proyecto llamada public , y la ruta a su imagen sería /no-profile-pic.jpg o si coloca toda la estructura de carpetas en la carpeta pública sería /allUploadedPhoto/Avatar/no-profile-pic.jpg .
Si está utilizando otro método para servir su aplicación, actualice su pregunta con los detalles.