Capacitor 3 和 VueJS,打开保存的文件或下载

问题描述

我正在为一些我认为很简单的事情而苦苦挣扎。

理想情况下,我想以与从浏览器下载时相同的提示保存我的 base64 文件,但是使用电容器应用程序似乎不可能。

所以我使用了 FileSystem,将文件保存在 Documents 目录中,一切顺利,我也可以获取 uri 文件。但是因为没有指示文件已保存,我想至少尝试使用本机应用程序打开文件。我注意到有cordova插件cordova-plugin-file-opener2,但如果没有cordova,我似乎无法让它与电容器3和VueJs一起工作。

也许是我想多了?有没有办法用Capacitor下载文件或打开文件

对于网络视图(不是本机应用程序),我使用隐藏的下载按钮,但这在电容器应用程序中根本不起作用

这是我当前的代码

Filesystem.writeFile({
    data: pdf,path: `${this.fileName}.pdf`,directory: Directory.Documents,}).then(() => {
    Filesystem.getUri({
    path: `${this.fileName}.pdf`,}).then(res => {
  // open file here with my res.uri ?
  );
});

解决方法

我遇到了同样的问题。我通过使用官方电容器“共享”插件解决/解决了它,因此用户可以选择她想对文件做什么。 https://capacitorjs.com/docs/apis/share

我没有找到任何其他解决方案来显示或下载那些私人存储的文件。 FileOpener 在 Android 上似乎有很多问题,在 iOS 上也不起作用。