api-console-assets
Version:
This repo only exists to publish api console components to npm
67 lines (57 loc) • 1.65 kB
JavaScript
var requestFileSystem = window.webkitRequestFileSystem || window.mozRequestFileSystem || window.msRequestFileSystem || window.requestFileSystem;
var URL = "lorem.zip", FILENAME = "lorem.txt";
var filesystem, zipFs = new zip.fs.FS();
function onerror(message) {
console.error(message);
}
function removeRecursively(entry, onend, onerror) {
var rootReader = entry.createReader();
rootReader.readEntries(function(entries) {
var i = 0;
function next() {
i++;
removeNextEntry();
}
function removeNextEntry() {
var entry = entries[i];
if (entry) {
if (entry.isDirectory)
removeRecursively(entry, next, onerror);
if (entry.isFile)
entry.remove(next, onerror);
} else
onend();
}
removeNextEntry();
}, onerror);
}
function importZipToFilesystem(callback) {
zipFs.importHttpContent(URL, false, function() {
filesystem.root.getFile(FILENAME, {
create : true
}, function(fileEntry) {
var zippedFile = zipFs.root.getChildByName(FILENAME);
zippedFile.getFileEntry(fileEntry, callback, null, onerror);
}, onerror);
}, onerror);
}
function logFile(file) {
var reader = new FileReader();
reader.onload = function(event) {
console.log(event.target.result);
console.log("--------------");
};
reader.onerror = onerror;
reader.readAsText(file);
}
function test() {
importZipToFilesystem(function() {
filesystem.root.getFile(FILENAME, null, function(fileEntry) {
fileEntry.file(logFile, onerror);
}, onerror);
}, onerror);
}
requestFileSystem(TEMPORARY, 4 * 1024 * 1024 * 1024, function(fs) {
filesystem = fs;
removeRecursively(filesystem.root, test, onerror);
}, onerror);