Поскольку мы не указали позицию, с которой должна начинаться запись содержимого, предыдущий код просто записывает бинарный блок в начало файла. Для того чтобы указать конкретную позицию или присоединить содержимое к концу уже существующего файла, нужно воспользоваться методом seek().
Листинг 12.19. Добавление нового содержимого к имеющемуся
Function writecontent(fileWriter) {
Var text=document. getElementById(‘mytext’).value;
FileWriter. seek(fileWriter. length);
FileWriter. onwriteend=success;
Var blob=new WebKitBlobBuilder();
Blob. append(text);
FileWriter. write(blob. getBlob());
}
Замените функцию writecontent() в листинге 12.18 новым вариантом из листинга 12.19 и откройте HTML-файл в своем браузере. Заполните поля формы: укажите то же имя файла, которое вы использовали в предыдущий раз, и текст, который необходимо дописать в конце файла.
Функция из листинга 12.19 — это усовершенствованный вариант функции writecontent() из предыдущего примера. Теперь она включает в себя метод seek(), с помощью которого позиция записи переносится в конец файла. Таким образом, метод write() добавляет новое содержимое в конец файла, а не записывает его на место уже существующих данных.
Для вычисления позиции конца файла в байтах мы воспользовались свойством length. Остальной код ничем не отличается от кода в листинге 12.18.
Добавить комментарий