javascript – 使用HTML5 FileWriter truncate()方法?

前端之家收集整理的这篇文章主要介绍了javascript – 使用HTML5 FileWriter truncate()方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用 HTML5 File API,我需要使用一个我不够了解的方法(只因为它几乎不记录在内).

我在谈论FileWriter truncate()方法,我知道这是我需要做的.基本上,我不想将文本附加到某些文件数据或使用seek()来覆盖某个部分,而是要用其他的东西覆盖所有的数据(例如从“somedata”到“”).

以下是来自HTML5Rocks的FileWriter设置的一段代码,其中添加了truncate().

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);

调用writer.truncate()时,调用writer.write()会引发File Exception错误.我相信这是因为readyState设置为WRITING.不幸的是,我不知道如何解决.

我已经试过看过这个HTML5Rocks section,但它并没有告诉我关于truncate()方法的任何事情(尽管我知道它存在于Webkit JS控制台告诉我什么).

长篇小说,我如何正确使用truncate()方法,而不会出现错误

解决方法

这样的事情可能还有一点点:

truncate Changes the length of the file to that specified

fileEntry.createWriter(function(fileWriter) {
    var truncated = false;
    fileWriter.onwriteend = function(e) {
        if (!truncated) {
            truncated = true;
            this.truncate(this.position);
            return;
        }
        console.log('Write completed.');
    };
    fileWriter.onerror = function(e) {
        console.log('Write Failed: ' + e.toString());
    };
    var blob = new Blob(['helo'],{type: 'plain/text'});
    fileWriter.write(blob);
},errorHandler);
原文链接:https://www.f2er.com/js/150256.html

猜你在找的JavaScript相关文章