Pregunta

Hay que dejar que el usuario descarga un archivo creado sobre la marcha de algunos datos contenidos en la extensión, pero no quiero hacer esto del lado del servidor.

Como un ejemplo del mundo real: Hay una variable que contiene el "hola mundo" texto. Quiero que el usuario sea capaz de descargar / crear un archivo que contiene .TXT dicho texto.

¿Es posible?

-Editado 30 de oct 2010 -

Las soluciones hasta ahora:

window.saveAs - no funciona en absoluto

createObjectURL - obras, pero el nombre de archivo y otras opciones no se pueden personalizar aún

copiar datos al portapapeles - obras, pero demasiados pasos son necesarios para el usuario

crear un documento de Google Docs - podría funcionar, pero necesita jugar con el API y Oauth

-Editado 15 Abr, 2011

Parece que las cosas están mejorando: https://github.com/eligrey/FileSaver.js

Pero Chrome 14+ es todavía un poco extraño en los nombres de archivo.

¿Fue útil?

Solución

Creo que la única manera es llamar a Guardar de diálogo a través de flash, consulte Downloadify biblioteca.

Otros consejos

En las extensiones de cromo-Google Grupo I haber encontrado este ejemplo de trabajo: (lo he modificado para trabajar desde el pop-up)

BuiltBlob = new BlobBuilder(""); 
BuiltBlob.append("Hello, world"); 
BlobToSave = BuiltBlob.getBlob(); 
chrome.tabs.create({'url': createObjectURL(BlobToSave), 'selected': false});

Sin embargo, el nombre del archivo no está establecido, terminando con algo así como cf8a56bf-d724-4b97-b10f-e252961135bd

En la documentación de la W3C ( http: // dev. w3.org/2009/dap/file-system/file-writer.html ) he encontrado este no funciona ejemplo:

var bb = new BlobBuilder(); 
bb.append("Lorem ipsum"); 
var fileSaver = window.saveAs(bb.getBlob(), "test_file"); 
fileSaver.onwriteend = myOnWriteEnd; 

window.saveAs pero no parece que existe.

googleing torno a que he encontrado referencias anticuado Google Gears, pero nada más, tal vez porque estoy tratando con algo demasiado nuevo para tener la documentación adecuada?

¿Hay una manera de establecer el nombre del archivo / mime-tipo con el primer ejemplo?

No creo que esto es posible debido a razones de seguridad

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top