3

Вот функция:Как перезаписать файл в FileSystem API

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 }.

Он просто перезаписывает старый контент, но не очищает его. Должен ли я удалить файл перед его написанием или есть что-то, что мне не хватает?

ответ

1

Насколько я понимаю, метод write будет записывать поставляемый контент в позицию. Для меня это означает, что существующий контент нетронутый, если вы не переписываете части. Поэтому я собираюсь сказать «да», удалить файл и сохранить новый.

source

Смежные вопросы