【问题标题】:Read .epub File While Being Uploaded上传时读取 .epub 文件
【发布时间】:2018-02-17 08:57:22
【问题描述】:

当我将 .epub 文件上传到浏览器时,我希望能够打开它,获取封面图像并将其与 .epub 本身分开保存。

为了做到这一点,我使用react dropzonefuturepress epub reader。在自述文件中它说:

“在最新的浏览器版本中,onDrop 给出的文件没有属性 path 或 fullPath。如果你想访问文件内容,你必须使用 FileReader API”

这是我当前的代码:

onDrop(acceptedFile) {
  for (var i = 0, f; f = acceptedFile[i]; i++) {
    const reader = new FileReader();
    reader.onload = (function(reader) {
      return function() {
        const contents = reader.result;
        const Book = ePub(contents);
        console.log(Book);
      }
    })(reader);

    reader.readAsText(f);
  }
}

当我尝试上传 .epub 文件时,我得到 - “referenceError: href is not defined”

【问题讨论】:

    标签: javascript filereader epub


    【解决方案1】:

    FileReader API onload 事件有不同的概要:

    reader.onload = function(event) {
        // showing the text of the file
        console.log(event.target.result)
    };
    

    所以我建议这样改:

    onDrop(acceptedFile) {
      for (var i = 0, f; f = acceptedFile[i]; i++) {
        const reader = new FileReader();
        reader.onload = (function(event) {
          return function() {
            const contents = event.target.result;
    ...
    

    【讨论】:

    • ondDrop函数是如何调用的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多