javascript - 如何在 FileSystem API 中覆盖文件

标签 javascript google-chrome html5-filesystem persistent-storage

函数如下:

this.saveObj = function(o, finished)
{   
    root.getDirectory("object", {create: true}, function(directoryEntry)
    {
        directoryEntry.getFile("object.json", {create: true}, function(fileEntry) 
        {
            fileEntry.createWriter(function(fileWriter) 
            {

                fileWriter.onwriteend = function(e) 
                {
                    finished(fileEntry);
                };

                fileWriter.onerror = errorHandler;
                var blob = new Blob([JSON.stringify(o)], {type: "json"});

                fileWriter.write(blob);
            }, errorHandler);
        }, errorHandler);
    }, errorHandler);
};

现在,当我保存一个对象时,一切正常。假设我保存 {"id":1},我的文件内容将是 {"id":1}。现在我用 o = {}; 编辑对象并再次保存,我的文件内容突然变成了 {} "id":1 }

它只会覆盖旧内容,但不会清除它。我是否必须在写入文件之前删除该文件,还是我遗漏了什么?

最佳答案

据我了解,write 方法会将提供的内容写入某个位置。对我来说,这意味着除非您覆盖部分内容,否则现有内容不会受到影响。所以我要说是,删除文件并保存一个新文件。

source

关于javascript - 如何在 FileSystem API 中覆盖文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28458632/

相关文章:

javascript - ffmpeg.wasm 转码多比特率 HLS 或 DASH?

javascript - javascript 中的私有(private)成员

html - 修复了 Chrome 中的背景附件错误

javascript - Javascript 等待 webelement 可见并单击它

javascript - 文件系统 API - 从本地驱动器上传到本地文件系统

javascript - setState 方法中的 React 16 计数器值在下一个列表项中传播

html - Table-cell <a> 元素在 Chrome 中的不同高度

java - 从网络浏览器运行应用程序

javascript - HTML5 fileWriter.write 不写入本地文件

javascript - 用空格分割字符串,但不是换行符中的空格,并保留换行符