函数如下:
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 方法会将提供的内容写入某个位置。对我来说,这意味着除非您覆盖部分内容,否则现有内容不会受到影响。所以我要说是,删除文件并保存一个新文件。
关于javascript - 如何在 FileSystem API 中覆盖文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28458632/