收藏
回答

FileSystemManager.readSync 报错, 原因?

error: readSync:fail array buffer does not exist

文件是存在的, 并且使用 FileSystemManager.readFileSync(src) 是能成功读取数据的。

function readFileEx(src, offset, len) {

  const fs = wx.getFileSystemManager()

  try{

    const ab = new ArrayBuffer(len)

    const fd = fs.openSync({filePath: src})

    try{

      res = fs.readSync({fd: fd, arrayBuffer: ab, position:offset, length: len});

      fs.close({fd: fd})

      if (res.bytesRead < len) {

        return res.slice(0, res.bytesRead)

      } else {

        return res.arrayBuffer

      }

    }catch(e){

      console.error( e) ; // 此处catch 到: readSync:fail array buffer does not exist

      fs.close({fd: fd})

      return new ArrayBuffer(0)

    }

  } catch(e) {

    console.error(e)

    return new ArrayBuffer(0)

  }    

}

回答关注问题邀请回答
收藏
登录 后发表内容