cordova 尝试在我的Capacitor Ionic应用程序上写入大型PDF文件时,Fileskt.writeFile()崩溃

fzwojiic  于 2023-10-24  发布在  Ionic
关注(0)|答案(1)|浏览(182)

我有应用程序使用离子框架使用电容器(角).应用程序都部署在Android和IOS.从应用程序中,你可以下载生成的PDF.
我使用以下代码来实现:

static async writeAndOpenFile(data: Blob, fileName: string) {
    const reader = new FileReader();
    reader.readAsDataURL(data);
    reader.onloadend = async function () {
      const base64data = reader.result;

      try {
        const result = await Filesystem.writeFile({
          path: fileName,
          data: <string>base64data,
          directory: Directory.Data,
          recursive: true
        });

        let fileOpener: FileOpener = new FileOpener();
        fileOpener.open(result.uri, data.type)
          .then(() => console.log('File is opened'))
          .catch(e => console.log('Error opening file', e));
      } catch (e) {
        console.error('Unable to write file', e);
      }
    }
  }

然而,当我试图写更大的PDF文件时,应用程序崩溃了。我想知道是否有解决方案
谢谢你

5lhxktic

5lhxktic1#

Filesystem.writeFile(...)方法不用于写入大文件。您应该使用以下两个插件之一:

为了避免此类问题,您根本不应该将文件加载到WebView中。

相关问题