2011-08-27 18 views
7

Así que estoy trabajando en una aplicación web en la que un usuario tendrá que:Javascript: multi-navegador de archivos sin servidor carga y descarga

  • proporcionar un archivo completo de datos para trabajar en
  • salvar sus resultados a un archivo

Toda la manipulación se realiza en javascript, por lo que realmente no necesito código de servidor (solo alojamiento estático), y me gusta de esa manera.

En Firefox, puedo usar su file manipulation api para permitir que un usuario cargue un archivo directamente en el código del lado del cliente (usando un estándar <input type=file/>) y crear un objeto URL de un archivo para que el usuario pueda guardar un archivo creado por el código del lado del cliente.

<input type="file" id="input" onchange="handleFiles(this.files)"> 
<a download="doubled" id="ex">right-click and save as</a> 
<script> 
    function handleFiles(fileList){ 
    var builder = new MozBlobBuilder(); 
    var file = fileList[0]; 
    var text = file.getAsBinary(); 
    builder.append(text); 
    builder.append(text); 
    document.getElementById('ex').href = window.URL.createObjectURL(builder.getBlob()); 
    } 
</script> 

Así que esto es genial. Ahora quiero hacer lo mismo en otros navegadores, o al menos versiones modernas de otros navegadores. ¿Existen API similares para Chrome e IE? Si es así, ¿alguien ya ha creado un contenedor cross-browser que debería estar usando?

Respuesta

Cuestiones relacionadas