Filesystems 是否可以从服务人员处使用webkitRequestFileSystem?

Filesystems 是否可以从服务人员处使用webkitRequestFileSystem?,filesystems,service-worker,Filesystems,Service Worker,我的想法是使用上传文件,然后像这样troughthwebkitRequestFileSystem保存到文件系统 body.innerHTML = `<input type="file">`; body.children[0].addEventListener("change", copyFiles); 现在,我想使用服务工作者读取这些文件的内容并将其发送到我的后端 我是服务工作者的新手,我尝试过,但我得到了self.webkitRequestFileSystem不是一个函数 服务工

我的想法是使用
上传文件,然后像这样troughth
webkitRequestFileSystem
保存到
文件系统

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);
    }
});