HTML5 представляет класс FileWriter. С помощью этого класса вы можете создавать Blobs. (Файл - это расширение Blob.) С помощью JavaScript вы можете создать Blob и, например, показать его с помощью dataURL.
Пример:
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);
Но это не очень хорошо:) Я хочу, чтобы новый созданный (текстовый) файл был загружен. Не открывается в том же или отдельном окне.
Есть ли способ? Должно быть. Как?
(Обсуждение уже существует в группе Google Chrome)
UPDATE
API файлов изменился, потому что спецификации изменились (или что-то!?). Webkit нарушил совместимость с BlobBuilder
, теперь называемый WebKitBlobBuilder
. Тот же пример по-разному на jsFiddle
UPDATE
Создание Blobs теперь работает по-разному (не более append()
):
blob = new Blob(['some text'], {type: 'text/plain'});