Foros del Web » Programando para Internet » Javascript »

Como puedo hacer con java para saber si existe un archivo.

Estas en el tema de Como puedo hacer con java para saber si existe un archivo. en el foro de Javascript en Foros del Web. Hola, mi pregunta es si con java puedo saber si existe o no una archivo (imagen) determinado. Ej: Tengo en una web (fotox) y (fotox ...
  #1 (permalink)  
Antiguo 03/09/2004, 08:42
 
Fecha de Ingreso: septiembre-2004
Ubicación: Argentina, Bahia Blanca
Mensajes: 6
Antigüedad: 19 años, 7 meses
Puntos: 0
Como puedo hacer con java para saber si existe un archivo.

Hola, mi pregunta es si con java puedo saber si existe o no una archivo (imagen) determinado.
Ej: Tengo en una web (fotox) y (fotox grande). El problema es el siguiente.
Cuando paso el mouse por (fotox), hago que aparezca (fotox grande), pero si (fotox grande no existe) igualmente me abre la ventana.

Como hago para que no abra la ventana, si no esta (fotox grande)

Gracias
  #2 (permalink)  
Antiguo 03/09/2004, 16:27
Avatar de claray  
Fecha de Ingreso: agosto-2004
Ubicación: ahora... en Caracas
Mensajes: 345
Antigüedad: 19 años, 8 meses
Puntos: 0
pues mira que acabo de ver un codigo de caricatos que esta muy bueno y puede servir para ello con algunos ajustes. Si bien ese codigo esta completo para abrir una ventana, puedes verificar si la foto esta cargada.

http://www.forosdelweb.com/f13/pop-tamano-imagen-213538/

saludos.
__________________
:pirata: El arte de desarrollar es dejar que los otros lo hagan
  #3 (permalink)  
Antiguo 03/09/2004, 16:40
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola a todos:

Si no me equivoco no hay forma de saber si existen ficheros en javascript (al menos estándar) así que lo mejor es que evites ese tipo de situaciones antes de subir tu página.
Hay cosas que pueden funcionar en ciertos navegadores, pero corres el riesgo de que fallen en otros como el uso de onload u onerror ...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 03/09/2004, 17:14
Avatar de claray  
Fecha de Ingreso: agosto-2004
Ubicación: ahora... en Caracas
Mensajes: 345
Antigüedad: 19 años, 8 meses
Puntos: 0
Estoy de acuerdo contigo caricatos, pero, tu codigo podria servir para simular algo por el estilo.

Si, por ejemplo, asumes que pasados "x" segundos no se ha cargado la imagen es debido a que es muy grande o no existe, entonces puedes usar una pequeña variación a tu rutina.


<script type="text/javascript">
var _img_grande;
var veces = 0;
var tiempoVerifica = 100; //cada cuanto verifica si cargo milisegundos
var segundosTimeOut = 10; //segundos antes de time out
var topecarga = parseInt(segundosTimeOut*1000/tiempoVerifica)

function mostrar() {
var ops = "top=" + ((screen.height - _img_grande.height) / 2);
ops += ",left=" + ((screen.width - _img_grande.width) / 2);
ops += ",width=" + _img_grande.width + ",height=" + _img_grande.height;
var contenido = "<html><body style='background-image: url(" + _img_grande.src + ")'></body></html>";
var ventana = window.open("", "", ops);
ventana.document.write(contenido);
ventana.document.close();
}

function cargando() {
veces++;
if (veces>topecarga){
alert("No se pudo cargar la imagen");
}
else{
if (_img_grande.complete) {mostrar();}
else setTimeout("cargando()", tiempoVerifica);
}
}
function abrir(imagen) {
_img_grande = new Image();
_img_grande.src = imagen;
veces=0;
cargando();
}
</script>


Concuerdo que cuando la conexión sea lenta se puede enviar información erronea, pero con un valor adecuado, creo que puede funcionar bastante bien.

(de todas maneras revisaria el tema del timer, ya que entiendo que hay que destruirlo explicitamente)

saludos.
__________________
:pirata: El arte de desarrollar es dejar que los otros lo hagan
  #5 (permalink)  
Antiguo 03/09/2004, 20:41
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Tal vez sirva el código reformado, pero yo procuraría que los ficheros existieran y no usar ese tipo de truco.
Además, es posible que tanto explorer como mozilla tengan alguna implementación para ese tema, así que tal vez se pueda hacer algo más fiable.

Con respecto al timer, yo suelo usarlo de esa manera y no tengo problemas, para destruír setTimeout no lo creo necesario porque se ejecuta solo una vez, aunque exista clearTimeout()... aunque existe setInterval, que sin duda hay que destruírlo como dices...

De todas maneras, si tienes algún enlace que hable de ese tema, te agradecería que lo compartieses.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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:04.