Проблема в том, что FileWriter.write()
является асинхронным, и вы пытаетесь записать больше данных в файл до завершения первой записи. Согласно спецификации , FileException
должен быть брошен, если readyState==WRITING
. Скорее всего, что происходит в вашем случае. Вам нужно что-то вроде:
var bb = new window.WebKitBlobBuilder();
bb.append('LOREL');
outWriter.onwrite = function(e) {
bb.append('LOREL');
outWriter.write(bb.getBlob('text/plain'));
};
outWriter.write(bb.getBlob('text/plain'));
Кроме того, я надеюсь, что ваш фрагмент кода является лишь примером, и вы на самом деле не добавляете, не пишете, не добавляете, не пишете. В противном случае используйте один write()
:
var bb = new window.WebKitBlobBuilder();
bb.append('LOREL');
bb.append('LOREL');
outWriter.write(bb.getBlob('text/plain'));