2012-07-30 14 views
6

tengo una:IE Java script error No se puede obtener el valor de la propiedad '0':

<img id="uploadedimage" alt="uploaded image" src="" width="250px" height="250px"/> 

y tienen un div para mostrar la imagen una vez que el usuario ha seleccionado la imagen utilizando este código jQuery:

$('#BusinessImage').change(function (ev) { 

      var f = ev.target.files[0]; 
      var fr = new FileReader(); 
      var IsImage = false; 

      // check the file is an image 
      if (f.type.match('image.*')) { 
       IsImage = true; 
      } 

      fr.onload = function (ev2) { 
       if (IsImage) { 
        $('#uploadedimage').attr('src', ev2.target.result); 
       } 
      }; 

      if (IsImage) { 
       fr.readAsDataURL(f); 
       ValidFileUpload(); 
      } 
      else { 
       InvalidFileUpload(); 
      } 
     }); 

Por supuesto, este código funciona muy bien en todos los demás navegadores aparte de Satans, Internet Explorer. Me sale este error:

Line: 108 
Character: 13 
Code: 0 
Error Message: Unable to get value of the property '0': object is null or undefined 

¿Alguien tiene alguna idea de lo que está causando esto, ya que funciona muy bien en FFX y Chrome.

Gracias

+1

¿Cuál es el código en la línea 108? Además, ¿qué versión de IE? – anAgent

+0

Lo sentimos, aquí está var f = ev.target.files [0]; También estoy usando IE 9 y lo intenté en 8, ambos no funcionan – Funky

+0

Necesito un jsfiddle de este. IE te dice que ev.target no contiene una matriz de archivos. – jholloman

Respuesta

8

".files" trabajar sólo en los navegadores que soportan HTML5.

archivos se admite en IE10 pero para IE9 y las primeras versiones se debe utilizar otra manera de obtener la ruta .:

Para comprobar si los archivos se apoya:

if(ev.target.files){ 
    //supported 
    console.log(ev.target.files[0]); 
}else{ 
    //.files not supported 
    console.log(ev.target.value); 
} 
+1

No creo que 'files' funcione en IE9. http://caniuse.com/#search=filereader –

+0

Sí, dice que no está respaldado :(¿Hay alguna otra alternativa? – Funky

+0

Mi respuesta muestra qué hacer cuando los archivos no son compatibles. ¿Lo intentó? –

Cuestiones relacionadas