【问题标题】:HTML 5 File Reader SyncHTML 5 文件阅读器同步
【发布时间】:2013-07-02 17:20:16
【问题描述】:

我正在使用网络工作者和文件系统 API 来读取文件的内容。但是,每当我尝试读取文件时,我都会在 var message = read.readAsText(fileEntry); 的代码行上收到 DOM EXCEPTION 8 : NOT FOUND ERROR;谁能帮忙解释一下为什么会这样?

path = e.data + "/" + "index.html";

var buffers = [];

var message = "";

var fileEntry = fs.root.getFile(path, {create: false});

var reader = new FileReaderSync();
message = reader.readAsText(fileEntry);

self.postMessage(message);

【问题讨论】:

  • 您确定该文件存在吗? MDN 指出“当找不到由 DOM Blob 或文件表示的资源时引发错误,例如因为它已被删除”。
  • 是的,我确定该文件存在。即使我将 getFile 更改为 create true ,我仍然会收到错误消息。

标签: html web-worker html5-filesystem


【解决方案1】:

readAsText 需要一个 File 对象,而不是 FileEntrySync 对象。调用 fileEntry.file() 获取 File 对象。

path = e.data + "/" + "index.html";
var buffers = [];
var message = "";
var fileEntry = fs.root.getFile(path, {create: false});
var reader = new FileReaderSync();

message = reader.readAsText(fileEntry.<strong>file()</strong>);

self.postMessage(message);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多