Pregunta

HTML 5 introduce la clase FileWriter. Con esta clase puede hacer que las gotas. (Un archivo es una extensión de una nota.) Con JavaScript se puede hacer una gota y, por ejemplo, muestran que el uso de la DataURL.

Ejemplo:

var bb = new BlobBuilder();
bb.append('some text')
var blob = bb.getBlob('text/plain');

var fr = new FileReader();
fr.onload = function(e) {
 document.location = this.result; // voila the dataURL
}
fr.readAsDataURL(blob);

Pero eso no es lo suficientemente bueno :) Quiero que el archivo recién creado (texto) para ser descargado. No se abre en la misma o en una ventana separada.

¿Hay alguna manera? Tiene que haber. ¿Cómo?

(La discusión ya existe en el Google Chrome grupo )

Actualizar
La API de archivos ha cambiado, ya que las especificaciones han cambiado (o algo !?). Webkit rompió la compatibilidad con BlobBuilder, que ahora se llama WebKitBlobBuilder. mismo ejemplo de forma diferente en jsFiddle

Actualizar
La creación de Blobs ahora funciona de forma diferente una vez más (no más append()):

blob = new Blob(['some text'], {type: 'text/plain'});
¿Fue útil?

Solución

La etiqueta de descarga en combinación con el objeto Blob hace el truco (al menos en las últimas versiones de cromo). Ver este violín :

var blob = new Blob(['blaaaaat'], {type: 'text/plain'});
$('a').attr("href", window.URL.createObjectURL(blob));
$('a').attr("download", "woeii.txt");

Firefox Indiferente apoyar la descarga atributo aunque (que es compatible con el objeto Blob). Las discusiones sobre la aplicación del atributo de descarga de Firefox están disponibles aquí :

Editar El atributo de descarga es ahora compatible con las últimas versiones de Firefox a partir del 10/03/2013

Otros consejos

Aquí es una solución pura Javascript para la creación de una burbuja de texto y su descarga como archivo de texto

var fileContent = 'This is sample text file';
var fileName = 'sampleFile.txt';

const blob = new Blob([fileContent], { type: 'text/plain' });
const a = document.createElement('a');
a.setAttribute('download', fileName);
a.setAttribute('href', window.URL.createObjectURL(blob));
a.click(); // EXECUTING CLICK EVENT WILL AUTO-DOWNLOAD THE FILE
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top