Estoy experimentando con la API de archivos HTML5, y necesito usar un método que no conozco bastante (simplemente porque casi no está documentado en ninguna parte).Usando el método HTML5 FileWriter truncate()?
Estoy hablando del método FileWriter truncate(), y sé que hace lo que tengo que hacer. Básicamente, en lugar de agregar texto a algunos datos de archivos o usar seek() para sobrescribir una cierta parte, quiero sobrescribir todos los datos con otra cosa (por ejemplo, desde "somedata" hasta "").
He aquí un fragmento de la configuración de FileWriter HTML5Rocks, con truncado() añade en.
function onInitFs(fs) {
fs.root.getFile('log.txt', {create: false}, function(fileEntry) {
// Create a FileWriter object for our FileEntry (log.txt).
fileEntry.createWriter(function(fileWriter) {
fileWriter.seek(fileWriter.length); // Start write position at EOF.
fileWriter.truncate(1);
// Create a new Blob and write it to log.txt.
var bb = new BlobBuilder(); // Note: window.WebKitBlobBuilder in Chrome 12.
bb.append('Hello World');
fileWriter.write(bb.getBlob('text/plain'));
}, errorHandler);
}, errorHandler);
}
window.requestFileSystem(window.PERSISTENT, 1024*1024, onInitFs, errorHandler);
Cuando se llega a llamar writer.truncate(), llamando writer.write() genera un error de excepción Archivo . Creo que esto se debe a que readyState está configurado para ESCRIBIR. Lamentablemente, no sé cómo evitarlo.
Ya he intentado buscar HTML5Rocks section en esto, pero no me dice nada acerca de un método truncate() (aunque sé que existe a partir de lo que me dice la consola Webkit JS).
En resumen, ¿cómo puedo usar el método truncate() correctamente sin obtener un error?
[truncado W3C spec] (http://www.w3.org/TR/file-writer-api/#widl-FileWriter-truncate) disfruta. – Raynos
¿Por qué truncar (1)? ¿Por qué no truncar (0) para obtener un archivo de tamaño cero? – huyz