Как я могу сгенерировать файл и предложить его для загрузки в обычном javascript?

Я хотел бы динамически сгенерировать текстовый файл в javascript, а затем предложить его для загрузки. В настоящее время я могу заставить это работать в определенной степени с помощью одного из следующих решений:

content = "abc123";
document.location = "data:text/octet-stream," + encodeURIComponent(content);

ИЛИ

content = "abc123";    
var bb = new BlobBuilder();
bb.append(content);
var blob = bb.getBlob();
blob = blob.slice(0, blob.size, 'text/octet-stream');
var fr = new FileReader(); 
fr.onload = function() {document.location = this.result;}
fr.readAsDataURL(blob);

Однако оба этих решения, когда появится окно загрузки, будут предлагать только имя файла по умолчанию «скачать» в сохранении как диалог.

Мой вопрос в основном, как я могу изменить это на конкретное имя файла, например, 'readme.txt' или 'scene.obj'

Также обратите внимание, что тип данных был ранее ' text / plain ', однако, если это используется, документ переключается на новый текстовый документ вместо того, чтобы предлагать его для загрузки (как это, кажется, делает text / octet-stream).

Мне не нужно флэш-решение, javascript / html5 только предложения, пожалуйста.

Ура, Джош

5
задан Josh Mc 30 May 2011 в 11:01
поделиться