sobrescrever um arquivo com o HTML5 FileWriter
estou a usarAPI do HTML5 FileWriter para salvar o estado da minha webapp. Eu tenho bit de JS que periodicamente chamaFileWriter.write
fazer isso (assim, ao longo do tempo,write
método é chamado várias vezes). Por padrão, a API FileWriter usa uma abordagem 'anexada' para gravar arquivos, o que não atende às minhas necessidades, já que eu não quero sobrescrever o conteúdo do arquivo.
Eu tentei pela primeira vez isso:
this._writer.seek(0);
this._writer.write(content);
Isso não está funcionando quando você está escrevendo um texto menor que o conteúdo do arquivo. Eu então tentei isso:
this._writer.truncate(0);
this._writer.write(content);
Este código deve limpar o arquivo e, em seguida, escrever meu novo conteúdo, mas estou recebendo o seguinte erro quandowrite
método é chamado:
Uncaught InvalidStateError: An operation that depends on state cached in an interface object was made but the state had changed since it was read from disk.
Coisa estranha: quando eu depurar o código (com um ponto de interrupção), o erro não ocorre, como seFileWriter.truncate
era um método assíncrono ...
Estou preso aqui, alguma ideia?
Eu estou usando o Chrome 30.0.1599.69