【问题标题】:How can i append file using filewritersync?如何使用 filewritersync 追加文件?
【发布时间】:2012-07-23 10:17:49
【问题描述】:

我需要使用 HTML5 FileWriterSync 附加文件,来自服务器的多个数据块。我试图追加,但它只是写一个文件块。让我们检查一下我的代码。

var creator;
try {
    fileEntry = fs.root.getFile(filename, {
        create: creator
    });

    var byteArray = new Uint8Array(data.length);
    for (var i = 0; i < data.length; i++) {
        byteArray[i] = data.charCodeAt(i) & 0xff;
    }

    var BlobBuilderObj = new WebKitBlobBuilder();
    BlobBuilderObj.append(byteArray.buffer);

    if (!creator) fileEntry.createWriter().seek();
    fileEntry.createWriter().write(BlobBuilderObj.getBlob())

} catch (e) {
    errorHandler(e);
}

fs 之前已初始化,creator 更改为追加文件,我需要追加文件。

我的问题是如何调用 seek 以从 EOF 开始写入。

【问题讨论】:

    标签: html filewriter fileapi html5-filesystem


    【解决方案1】:

    seek() 采用 integer value 作为偏移量。您需要将其设置为文件的长度才能进行追加:

    var fw = fileEntry.createWriter();
    fw.seek(fw.length);
    

    应该类似于异步情况: http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-file-appending

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-24
      • 2022-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多