相关疑难解决方法(0)

如何使用 Ionic FileOpener 和 Capacitor 从 Blob 打开 PDF 文件

在我的 Ionic 5 项目中,我将 PDF 下载到设备(物理 iPhone Pro、iOS 模拟器以及 Android 设备)。转换为 Base64 并存储为 .txt 文件。我正在检索文件如下:

const options = {
  path: path,
  directory: FilesystemDirectory.Data,
  encoding: FilesystemEncoding.UTF8
}

Filesystem.readFile(options)
  .then(result => {

    const jsonCast = JSON.parse(result.data)
    const blop: Blob = this.convertBase64ToBlob(jsonCast)
    resolve(blop)
})
Run Code Online (Sandbox Code Playgroud)

我的代码的下一步是获取 Blob 文件的 URL:

const fileURL = URL.createObjectURL(blob)
Run Code Online (Sandbox Code Playgroud)

现在使用 Ionic native 的 FileOpener,当我尝试使用以下方法打开文件时:

this.fileOpener.open(blobURL, 'application/pdf')
Run Code Online (Sandbox Code Playgroud)

我收到错误消息,该File does not exist.

??  [log] - fileURL:  blob:capacitor://localhost/ff4efd06-a313-44ce-b386-c756d456e72f   
2019-09-23 17:06:19.267144-0700 App[25791:19944973] Path parameter not encoded. Building file URL encoding it...
2019-09-23 …
Run Code Online (Sandbox Code Playgroud)

ionic-framework capacitor

4
推荐指数
1
解决办法
5604
查看次数

标签 统计

capacitor ×1

ionic-framework ×1