Foros del Web » Programando para Internet » ASP Clásico »

Verificar q esiste antes de mostrarlo

Estas en el tema de Verificar q esiste antes de mostrarlo en el foro de ASP Clásico en Foros del Web. hola, estoy mostrando unas imagenes de esta forma <img src="/images/<%=rs("ref")%>a.jpg"> el problema esq en ocasiones la imagen que busca no esta aun en el servidor. ...
  #1 (permalink)  
Antiguo 06/06/2003, 18:14
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 7 meses
Puntos: 6
Verificar q esiste antes de mostrarlo

hola,

estoy mostrando unas imagenes de esta forma

<img src="/images/<%=rs("ref")%>a.jpg">

el problema esq en ocasiones la imagen que busca no esta aun en el servidor.

alguien ayadarme para q si no existe esta imagen se muestre otra fija para estos casos?
  #2 (permalink)  
Antiguo 06/06/2003, 20:14
Avatar de Fr@Nc3$c0  
Fecha de Ingreso: abril-2002
Ubicación: Barcelona (Spain)
Mensajes: 710
Antigüedad: 22 años, 2 meses
Puntos: 1
Yo tengo un código en JavaScript, pues es útil, simplemente detecta si una imagen esta mal cargada, si lo está, carga una por defecto, el código es el siguiente:

<html>
<head>
<script language="JavaScript">
function Error_Cargar() {
window.event.srcElement.style.display = "None";
}
</script>
</head>
<body>
<img
src="img/imagen_que_no_existe.gif"
OnError="Error_Cargar()">
</body>
</html>


Saludos.
__________________
Francesc Mula Calleja
Hay mucho por ver todavía...
  #3 (permalink)  
Antiguo 06/06/2003, 20:14
Avatar de Gurrutello  
Fecha de Ingreso: enero-2002
Ubicación: Ontario,Toronto [Canada]
Mensajes: 2.017
Antigüedad: 22 años, 4 meses
Puntos: 6
por lo que parece es que la imagen la muestras de la base de datos
prueba poner
<%if rs.eof then %>
<img src="no_imagen.gif" width="100" height="100">
<%else%>
<img src="imagen.gif" width="100" height="100">
<%end if%>
seria algo asi
+ o menos
  #4 (permalink)  
Antiguo 06/06/2003, 20:42
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
<%
Set filesys = CreateObject("Scripting.FileSystemObject")
If filesys.FileExists(server.mappath("/images/<%=rs("ref")%>a.jpg")) Then%>
<img src="/images/<%=rs("ref")%>a.jpg">
else
<img src="/images/nodisppnible.jpg">
<%end if%>
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #5 (permalink)  
Antiguo 07/06/2003, 07:20
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 7 meses
Puntos: 6
gracias a todos.. mañana lo pruebo y os cuento que tal

un saludo.
  #6 (permalink)  
Antiguo 07/06/2003, 10:49
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 7 meses
Puntos: 4
Yo te recomiendo la opción de maestro . Es la que yo uso y hasta ahora no me ha dado problemas.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #7 (permalink)  
Antiguo 07/06/2003, 18:40
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 22 años, 6 meses
Puntos: 0
Hola,

Maestro, tu codigo me dá un

error de compilación, se esperaba ')'

Pero no no encuentro el error, es posible que me falte algo?, realmente no lo encuentro, y ya llevo un buen rato dandole vueltas.

Este es el codigo que he metido:


Código:
<%
Set filesys = CreateObject("Scripting.FileSystemObject") 
If filesys.FileExists(server.mapPath("/imagenes/<%= rsarticulos("codigo") %>.jpg") ) Then %> 
<img src="/imagenes/<%=rsarticulos("codigo")%>.jpg">
else
<img src="/imagenes/nodisppnible.jpg">
<%end if%>

Saludos
  #8 (permalink)  
Antiguo 07/06/2003, 21:15
Avatar de Gurrutello  
Fecha de Ingreso: enero-2002
Ubicación: Ontario,Toronto [Canada]
Mensajes: 2.017
Antigüedad: 22 años, 4 meses
Puntos: 6
hola
quita el ultimo parentesis )
  #9 (permalink)  
Antiguo 08/06/2003, 06:03
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 7 meses
Puntos: 6
Fr@Nc3$c0

gracias por tu codigo muy bueno,


Gurrutello
No lo he probado, ya t cuento

maestro

Fenomeno es lo que necesito, pongo tu codigo corregido por si le interesa a alguien. (ya q tenia unos pequeños errores)

<%
Set filesys = CreateObject("Scripting.FileSystemObject")
If filesys.FileExists(server.mappath("a.gif")) Then
%>


<img src="a.gif">

<%else%>

<img src="b.jpg">


<%end if%>


Por cierto no e conseguido que funcione cambiando (server.mappath("a.gif"))
por
(server.mappath("Codigo ASP aqui dentro"))

ese es el problema de almaluz

cuando tenga un ratin intentare arreglarlo si a alguien se le ocurre q nos ayude
  #10 (permalink)  
Antiguo 08/06/2003, 07:14
Avatar de Fr@Nc3$c0  
Fecha de Ingreso: abril-2002
Ubicación: Barcelona (Spain)
Mensajes: 710
Antigüedad: 22 años, 2 meses
Puntos: 1
De nada, todas las posibilidades son buenas.

Un gran saludo a todos compañeros.
__________________
Francesc Mula Calleja
Hay mucho por ver todavía...
  #11 (permalink)  
Antiguo 08/06/2003, 11:49
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 7 meses
Puntos: 6
Codigo final

Hola pongo el codigo final de maestro

Gracias a todos y a la ayuda directa de @pple


Primero defino la variable para foto

foto = "/productos/"+rs("ref")+ "a.jpg"


y luego comprobamos y pintamos

<%
Set filesys = CreateObject("Scripting.FileSystemObject")
If filesys.FileExists(server.mappath(foto)) Then
%>


<img src="<%=foto%>">

<%else%>

<img src="foto_x_defecto.jpg">


<%end if%>



hasta otra.
  #12 (permalink)  
Antiguo 08/06/2003, 12:43
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Me alegro de que te sirviera suntus, solo aclarar que mi codigo estaba basado en recorrer un recordset comparando el Id del producto que a su vez tendria una imagen correspondiente.

Por ejemplo:
ID ----- Nombre ---------- foto
12 Caja de lapices 12.jpg

Entonce lo que hacemos es llamar al ID como nombre de la imagen que seria 12.jpg
<img src="images/<%=rs("ID")%>.jpg">
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net

Última edición por maestro; 08/06/2003 a las 13:59
  #13 (permalink)  
Antiguo 08/06/2003, 13:54
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 7 meses
Puntos: 6
maestro..

es exactamente para lo q lo utilizo yo, me pillaste a la primera.

lo unico que cambie fue
If filesys.FileExists(server.mappath("/images/<%=rs("ref")%>a.jpg")) Then

por

If filesys.FileExists(server.mappath(foto)) Then

dond foto equivale a ("/images/<%=rs("ref")

lo he echo asi porque por alguna razon no me funciona de la otra

Un saludo
  #14 (permalink)  
Antiguo 08/06/2003, 16:49
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 22 años, 6 meses
Puntos: 0
De acuerdo

Ok

Tal y como indica Suntus, lo he puesto como el dice y funciona perfectamente,

No he conseguido hacerlo funcionar de la otra manera, .

Excelente
  #15 (permalink)  
Antiguo 11/06/2003, 13:03
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 21 años, 5 meses
Puntos: 0
pregunta:

Supongamos que tengo esto:

<% SQL = SELECT * FROM TABLA "%>

WHILE NOT OBJRS.EOF
NOMBRE :<%=OBJRS("NOMBRE")%>
FOTO:<img src="/images/<%=rs("IMAGEN")%>.jpg">
OBJRS.MOVENEXT
WEND

debe funcionar bien con una sola imagen.

supongamos que la foto tiene el nombre del id, lo que sería lógico, como uno de los ejemplos de MAESTRO, como identificador de la imágen perteneciente al recordset.

ahora que se podría hacer si se quiere tener mas de una imagen perteneciente al mismo recordset?

Saludos cordiales.
__________________
Juan Pablo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:34.