Запись файла на рабочий стол с использованием API-интерфейса HTML5 FileSystem API

Я немного поиграл с API файловой системы.

Я нашел много примеров, когда вы создаете ссылку для загрузки и позволяете пользователю загружать файл "способ браузера".

Я хотел бы знать две вещи:

  • Есть ли способ записать результат ajax в скрипту в виде файла непосредственно на диск (без какого-либо типа подсказки). Например, для рабочего стола пользователя.

  • Является ли blob наиболее подходящим для этого форматом?

http://jsfiddle.net/FBGDe/

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
    if (this.readyState == 4 && this.status == 200){
        console.log(this.response, typeof this.response);
        var img = document.getElementById('img');
        var url = window.URL = window.webkitURL;
        img.src = url.createObjectURL(this.response);
    }
}
xhr.open('GET', 'http://www.newyorker.com/online/blogs/photobooth
                                                       /NASAEarth-01.jpg');
xhr.responseType = 'blob';
xhr.send();      

Ответы

Ответ 1

К сожалению, запись в обычные файлы в настоящее время невозможна (несмотря на принятый ответ Изменение локальных файлов с использованием HTML5 и JavaScript).

Вы можете писать только в изолированную файловую систему.

FYI, вы можете сделать это в Chrome Packaged App: http://developer.chrome.com/apps/fileSystem.html Но даже тогда пользователь должен как минимум сначала выбрать файл, Запись в любой файл будет серьезной дырой в безопасности.

Какую проблему вы действительно пытаетесь решить?

Ответ 2

Обратите внимание, что API файловой системы больше не входит в стандартную спецификацию, как указано в: http://www.w3.org/TR/file-system-api/

EDIT: Указание спецификации в случае изменения ссылки: "API файлов: каталоги и система W3C Рабочая группа Примечание 24 апреля 2014 года

Работа над этим документом была прекращена, и на нее не следует ссылаться или использоваться в качестве основы для реализации. "

(Это не относится к вопросу напрямую, но важно знать, что еще не использовать API FileSystem.)

Другая ссылка: http://www.html5rocks.com/en/tutorials/file/filesystem/

"В апреле 2014 года было объявлено на публичных веб-серверах, что спецификация API файловой системы должна считаться мертвой. Другие браузеры не проявили большого интереса к ее реализации".