Filesystems 是否可以从服务人员处使用webkitRequestFileSystem?
我的想法是使用Filesystems 是否可以从服务人员处使用webkitRequestFileSystem?,filesystems,service-worker,Filesystems,Service Worker,我的想法是使用上传文件,然后像这样troughthwebkitRequestFileSystem保存到文件系统 body.innerHTML = `<input type="file">`; body.children[0].addEventListener("change", copyFiles); 现在,我想使用服务工作者读取这些文件的内容并将其发送到我的后端 我是服务工作者的新手,我尝试过,但我得到了self.webkitRequestFileSystem不是一个函数 服务工
上传文件,然后像这样troughthwebkitRequestFileSystem
保存到文件系统
body.innerHTML = `<input type="file">`;
body.children[0].addEventListener("change", copyFiles);
现在,我想使用服务工作者读取这些文件的内容并将其发送到我的后端
我是服务工作者的新手,我尝试过,但我得到了self.webkitRequestFileSystem不是一个函数
服务工作者激活
window.addEventListener("load", function () {
if ('serviceWorker' in navigator) {
window.addEventListener("message", function(e){
console.log(e);
});
navigator.serviceWorker.register('js/swa.js').then(function (swr) {
swr.sync.register('syncTest');
}).catch(function (error) {
console.log(error);
});
} else {
console.log("Service Worker", "Not available.");
}
});
和ServiceWorker脚本
function getAllEntries(dirReader) {
var entries = dirReader.readEntries();
for (var i = 0, entry; entry = entries[i]; ++i) {
paths.push(entry.toURL()); // Stash this entry's filesystem: URL.
// If this is a directory, we have more traversing to do.
if (entry.isDirectory) {
getAllEntries(entry.createReader());
}
}
}
self.addEventListener('sync', function (event) {
try {
var fs = self.webkitRequestFileSystem(self.PERSISTENT, 1024 * 1024 /*1MB*/);
getAllEntries(fs.root.createReader());
self.postMessage({entries: paths});
} catch (e) {
console.log(e);
}
});
嗨,你找到这个问题的答案了吗?不,我正在尝试其他方法…嗨,你找到这个问题的答案了吗?不,我正在尝试其他方法。。。
window.addEventListener("load", function () {
if ('serviceWorker' in navigator) {
window.addEventListener("message", function(e){
console.log(e);
});
navigator.serviceWorker.register('js/swa.js').then(function (swr) {
swr.sync.register('syncTest');
}).catch(function (error) {
console.log(error);
});
} else {
console.log("Service Worker", "Not available.");
}
});
function getAllEntries(dirReader) {
var entries = dirReader.readEntries();
for (var i = 0, entry; entry = entries[i]; ++i) {
paths.push(entry.toURL()); // Stash this entry's filesystem: URL.
// If this is a directory, we have more traversing to do.
if (entry.isDirectory) {
getAllEntries(entry.createReader());
}
}
}
self.addEventListener('sync', function (event) {
try {
var fs = self.webkitRequestFileSystem(self.PERSISTENT, 1024 * 1024 /*1MB*/);
getAllEntries(fs.root.createReader());
self.postMessage({entries: paths});
} catch (e) {
console.log(e);
}
});