Html5FileApiChrome - aleksei-khitev/knowledge_base GitHub Wiki

HTML5 File API в Chrome

Получение разрешения от пользователя на доступ к хранилищу Persistent с определенной квотой

const errorHandler = function(e) {
    console.log('Error: ' + e);
}
const onInitFs = function(localStorage) {
    ...
}
navigator.webkitPersistentStorage.requestQuota(1024*1024,
    function(grantedBytes) {
      window.webkitRequestFileSystem(window.PERSISTENT, grantedBytes, onInitFs);
    },
    errorHandler
);

Когда пользователь согласиться во всплывающем окне, выполниться функция onInitFs

Создание каталога, файла

const onInitFs = function(localStorage) {
    localStorage.root.getDirectory("MC-888", {create: true}, function() {});
    localStorage.root.getFile('MC-888/it_organizer_1.txt', {create: true}, function(DatFile) {
        DatFile.createWriter(function(DatContent) {
          var blob = new Blob(["MC-888"], {type: "text/plain"});
          DatContent.write(blob);
        });
    });
}

Файлы и папки находятся в /home/aleksei_khitev/.config/google-chrome/Default/File System с измененными именами к примеру, /home/aleksei_khitev/.config/google-chrome/Default/File System/002/p/00/00000001
Увидеть структуру с нормальными именами можно в браузере по адресу filesystem:http://localhost:3000/persistent/

⚠️ **GitHub.com Fallback** ⚠️