Foros del Web » Programando para Internet » Javascript »

Problema con funcion que determina tamaño de imagen

Estas en el tema de Problema con funcion que determina tamaño de imagen en el foro de Javascript en Foros del Web. La cosa está en que buscando he encontrado un código en javascript que devuelve el tamaño en bytes de un campo tipo file, pero no ...
  #1 (permalink)  
Antiguo 12/01/2005, 10:51
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 4 meses
Puntos: 5
Problema con funcion que determina tamaño de imagen

La cosa está en que buscando he encontrado un código en javascript que devuelve el tamaño en bytes de un campo tipo file, pero no me funciona en firefox, y me gustaría saber en que otros navegadores dejaría de funcionar y por qué. En IE funciona.

Código:
<HTML>
<HEAD>
<SCRIPT>
function getFileSize (fileName) {
  if (document.layers) {
    if (navigator.javaEnabled()) {
      var file = new java.io.File(fileName);
      if (location.protocol.toLowerCase() != 'file:')
        netscape.security.PrivilegeManager.enablePrivilege(
        'UniversalFileRead'
        );
      return file.length();
    }
    else return -1;
  }
  else if (document.all) {
    window.oldOnError = window.onerror;
    window.onerror = function (err) {
      if (err.indexOf('utomation') != -1) {
        alert('file access not possible');
        return true;
      }
      else
        return false;
    };
    var fso = new ActiveXObject('Scripting.FileSystemObject');
    var file = fso.GetFile(fileName);
    window.onerror = window.oldOnError;
    return file.Size;
  }
}
function remove()
{
 var n=frm.elements.length
 var temp=new Array(n);
 for(i=0;i<=n-1;i++)
 {
  temp[i]=frm.elements[i].value
 }
 document.frm.reset()
 for(i=0;i<=n-1;i++)
 {
  frm.elements[i].value=temp[i]
 }

}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="frm">
<INPUT TYPE="file" NAME="fileName" ONchange="if((getFileSize(this.form.fileName.value))>300000){remove();alert('el fichero supera los 300 KB ')}"> <input type="button" name="sub1" value="Remove" onclick="remove()"><br>
<BR>
<input type="submit" name="enviar" value="Enviar" onclick=>
</FORM>
</BODY>
</HTML>
Está complementado con otro script que 'vacia el campo' file, pero tampoco funciona en todos los navegadores...
Supongo que no tendrá solución pero bueno si alguién me lo puede confirmar...

Salu2
__________________
[+]
[+]
  #2 (permalink)  
Antiguo 12/01/2005, 14:05
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 yoseman:

En explorer te hubiera bastado con elFichero.filesize... (no me acuerdo si es propiedad o método)... pero no se trata de algo estándar definido en w3.org, así que no creo que haya cosas similares en otros navegadores.

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 03:59.