2012-06-30 6 views
6

Quiero mostrar la imagen antes de cargarla. Intenté con el siguiente código pero está funcionando solo en firefox. Pero necesito hacerlo funcionar en IE. ¿Alguien podría sugerirme lo mejor? solución para this.i estoy dando mi código de abajo podría cualquiera de averiguar dónde fui Busqué en Google casi un todo day.But podía encontrar mi solución Aquí está mi códigoVista previa de la imagen antes de cargarla en IE9

enter code here 

function loadname(img, previewName) { 
     var isIE = (navigator.appName == "Microsoft Internet Explorer"); 
     var path = img.value; 
     var ext = path.substring(path.lastIndexOf('.') + 1).toLowerCase(); 
     if (ext == "gif" || ext == "jpeg" || ext == "jpg" || ext == "png") { 
      if (isIE) { 
       alert(path); 
       $('#' + previewName).attr('src', path); 
      } else { 
       if (img.files[0]) { 
        var reader = new FileReader(); 
        reader.onload = function (e) { 
         $('#' + previewName).attr('src', e.target.result); 
        } 
        reader.readAsDataURL(img.files[0]); 
       } 
      } 
     } 
    } 

mi html es

<body><form method="post" > 
<input type="file" class="file" onchange="loadname(this,'previewimg')" id="file" /><img src="about:blank" name="previewimg" id="previewimg" alt="" style="width:2in; height:2in"/> 


</form> 

Respuesta

6

Por razones de seguridad, IE9 no admite rt acceso a archivos en la computadora cliente, es por eso que no se ve ninguna vista previa. Tendría que cargar la imagen en su servidor y luego mostrarla.

Opinión del pájaro

Una forma podría ser que en la carga, mostrará una barra de progreso durante el uso de AJAX para guardar el archivo en una carpeta temporal en el servidor con el nombre de la imagen como una identificación temporal y almacenar el ID en la base de datos (para que pueda eliminarlo más tarde) y luego mostrarlo en el control de imagen. Si necesita eliminar el archivo más tarde, simplemente elimínelo utilizando la ID o si lo necesita, guárdelo en la carpeta de imágenes.

+0

¿Podría proporcionarme ejemplos sobre cómo hacer esto en el servidor? @Ashwin Singh – SahithiPinisetty

+0

Para esto necesita una secuencia de comandos del lado del servidor. –

Cuestiones relacionadas