Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/08/2010, 03:53
jose_cab
 
Fecha de Ingreso: noviembre-2008
Ubicación: Barcelona
Mensajes: 52
Antigüedad: 16 años
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