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

Verificar si es fichero IMAGE al bajar de URL con ServerXMLHTTP

Estas en el tema de Verificar si es fichero IMAGE al bajar de URL con ServerXMLHTTP en el foro de ASP Clásico en Foros del Web. Muy buenas. Tengo una rutina que utilizo para bajar imagenes de otros servidores conociendo su URL y luego grabarlas en mi servidor, para sincronizar mi ...
  #1 (permalink)  
Antiguo 06/08/2010, 03:53
 
Fecha de Ingreso: noviembre-2008
Ubicación: Barcelona
Mensajes: 52
Antigüedad: 15 años, 4 meses
Puntos: 0
Verificar si es fichero IMAGE al bajar de URL con ServerXMLHTTP

Muy buenas.

Tengo una rutina que utilizo para bajar imagenes de otros servidores conociendo su URL y luego grabarlas en mi servidor, para sincronizar mi e-comerce

Ahora tengo un problema que llevo varios días y no puedo resolver, he buscado aquí y en google, pero no acabo de localizar la solución.

La rutina es la siguiente:

Código:
Ruta_img = "http://... cualquier URL donde hay una foto .jpg ó .gif"

Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
objHTTP.SetTimeouts 50000, 60000, 10000, 100000 
objHTTP.Open "GET", Ruta_img, false	 '-- Cogemos la imagen		
objHTTP.Send
'-- Verificamos si hay algo en la URL
If objHTTP.statusText <> "OK" Then  '-- La URL es incorrecta
    HayFoto = "0"
    Set objHTTP=Nothing
Else	
    HayFoto = "1"
End If
Funciona perfectamente, el problema es que solo verifico si la URL es correcta o no.
El problema es con la siguiente URL y otras similares:

http://www.kramerspain.com/images/pr...hres/103AV.jpg

Podéis probarla y veréis que no muestra la foto, pero tampoco da error. Por el contrario esta otra funciona correctamente:

http://www.kramerspain.com/images/pr...ghres/101L.jpg

Aparentemente funciona y no da error, pero lógicamente no hay foto válida, por lo que si posteriormente intento abrir "peta" porque al abrir el Jpeg.OpenBinary no puede abrir la imagen que no existe

Código:
If HayFoto = "1" Then				
   Set Jpeg = Server.CreateObject("Persits.Jpeg")		
   Jpeg.OpenBinary(objHTTP.responseBody)
   ..
   ..
End If

Necesito verificar si es una imagen válida para poder abrirla o simplemente no abrirla.

Espero vuestra ayuda, tengo que dejar resuelto esto antes del lunes

Gracias a todos de antemano
  #2 (permalink)  
Antiguo 06/08/2010, 05:27
 
Fecha de Ingreso: noviembre-2008
Ubicación: Barcelona
Mensajes: 52
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Verificar si es fichero IMAGE al bajar de URL con ServerXMLHTTP

ME RESPONDO YO MISMO.
Lo dejo aquí por si alguien lo necesita.

Solo hay que verificar que realmente la imagen nos llega y que no está vacia presentandose como un Array

Código:
'-- Verificamos si hay algo en la URL
If objHTTP.statusText <> "OK" Then	'-- La URL es incorrecta
   HayFoto = "0"
   Set objHTTP=Nothing
Else	
   If IsArray(objHttp.ResponseBody) = TRUE Then
      HayFoto = "1"
   Else                               '-- URL Correcta, pero NO hay Foto
      HayFoto = "0"
      Set objHTTP=Nothing
   End If						
End If
Funciona perfectamente.

Si alguien quiere mejorarlo, se agradece.

Saludos y buenas vacaciones a quie esté o las tenga que hacer

Etiquetas: bajar, fichero, image, url, verificar
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 22:54.