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

Ayuda: mostrar imagenes

Estas en el tema de Ayuda: mostrar imagenes en el foro de ASP Clásico en Foros del Web. Hola a todos, seguramente es una tonteria, pero... quiero mostrar una serie de fotos en mi pagina, el caso es que no se sabe cuantas ...
  #1 (permalink)  
Antiguo 26/04/2005, 12:46
 
Fecha de Ingreso: abril-2005
Mensajes: 2
Antigüedad: 19 años, 1 mes
Puntos: 0
Ayuda: mostrar imagenes

Hola a todos, seguramente es una tonteria, pero...

quiero mostrar una serie de fotos en mi pagina, el caso es que no se sabe cuantas hay. solo se conoce el tipo de nombre de archivo.
en la BD leemos el campo referencia que nos dice el nombre de la foto
--> img=ref & nº &.jpg

que debo hacer para saber si el archivo existe o no

la idea es hacer un bucle for para variar el nº de la foto, pero como saber que existe el fichero enates de mostrarlo...

gracias por vuestra ayuda
  #2 (permalink)  
Antiguo 26/04/2005, 12:53
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 10 meses
Puntos: 15
Mira esto

<%
Function CheckFileExists(sFileName)

Dim FileSystemObject

Set FileSystemObject = Server.CreateObject("Scripting.FileSystemObject")

If (FileSystemObject.FileExists(sFileName)) Then
CheckFileExists = True
Else
CheckFileExists = False
End If

Set FileSystemObject = Nothing

End Function
%>

Aqui un ejemplo de como usarlo:

<%
If CheckFileExists("D:\www\image\imagen.jpg") Then
Response.Write("El archivo exite")
Else
Response.Write("el archivo no fue encontrado")
End If
%>
  #3 (permalink)  
Antiguo 26/04/2005, 12:59
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
o mejor aún si tomamos en cuenta que este es el foro de ASP, usa FSO:

Código:
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")

If (fs.FileExists("c:\winnt\xxx\vvv.txt"))=true Then
      Response.Write("File c:\winnt\xxx\vvv.txt exists.")
Else
      Response.Write("File c:\winnt\xxx\vvv.txt does not exist.")
End If

set fs=nothing
%>
x
  #4 (permalink)  
Antiguo 26/04/2005, 16:05
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola.

Algo que te quita muchos dolores de cabeza, es hacer esto:

<%
En una consulta regresas todas las fotos del DB que quieres mostrar, o bien las que ahi dice que existen... y luego en un while recorres los resultados. Y te vas a apoyar en el evento de error de las fotos.
%>
<img id='<%=i%>' scr='<%=rs("imagen")%>' onError = "javascript:window.document[<%=i%>].src='/images/punto_INVISIBLE.gif';">

Esto para cuestion de desplegar fotos resulta lo mas eficiente, si tienes una foto registrada es por que la metiste, solo en casos muy extraños no existira realmente, entonces para prevenir lo PEQUEÑOS casos que realmente no existira la foto usas ese evento el cual remplaza el espacio po algo que no se ve, asi tu salida de datos no muestra error, y bueno ya con eso puedes jugar de muchas formas si asi lo necesitas.

OJO, no se si la sintaxis es totalmente correcta la hice muy rapido solo como ejemplo general

Suerte!!
  #5 (permalink)  
Antiguo 26/04/2005, 16:18
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
Con esto compararias los nombres de las imagenes de la base de datos y su archivo correspondiente
rs("imagen") es el campo del nombre de la imagen
el recordset se llama RS

Código:
 
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")

do while not rs.eof
If (fs.FileExists(rs("imagen")&".jpg"))=true Then
      Response.Write rs("imagen")& "SI existe<br>"
Else
      Response.Write rs("imagen")& "NO existe<br>"
End If

rs.movenext
loop

set fs=nothing
%>
Con esto muestras todos los nombres de archivos que haya en un directorio, no importando nombre ni nada:
Código:
 
<%
´nos crea el Objeto FSO
Set ObjetoFSO = Server.CreateObject("Scripting.FileSystemObject") 
 
´nos selecciona la carpeta en la que esta el archivo
Set ObjetoCarpeta = ObjetoFSO.GetFolder(Server.MapPath("\"))
 
´nos comienza a listar los archivos
Response.Write "<FONT FACE=Verdana SIZE=2>"
´Nos muestra el nombre de nuestra carpeta en la web devuelta
Response.Write "<B>" & ObjetoCarpeta.Name & "</B>:<BR>"
 
´busca en todos los archivos que encuentra en dicha carpeta y nos devuelve el nombre
For Each Fichero in ObjetoCarpeta.Files
Response.Write Fichero.Name & "<BR>"
 
Next
 
Response.Write "</FONT>"
 
Set Fichero = Nothing
Set ObjetoCarpeta = Nothing
Set ObjetoFSO = Nothing
%>
 
  #6 (permalink)  
Antiguo 26/04/2005, 16:20
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
Para cambiar la imagen al mostrarla por si no existe es algo asi:
<img src="images/imagen.gif" onerror="this.onerror=null;this.src='images/errorimagen.gif';">
  #7 (permalink)  
Antiguo 27/04/2005, 02:17
 
Fecha de Ingreso: abril-2005
Mensajes: 2
Antigüedad: 19 años, 1 mes
Puntos: 0
gracias por la ayuda

muchas gracias a todos por vuestra ayuda tan rapida
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 18:26.