首页 > 解决方案 > Capacitor 3 和 VueJS,打开保存的文件(或下载)

问题描述

我正在努力解决我认为很简单的事情。

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

所以我使用 FileSystem 将文件保存在Documents目录上,效果很好,我也可以获取 uri 文件。但是因为没有迹象表明文件已保存,我想至少尝试使用本机应用程序打开文件。我注意到有科尔多瓦插件cordova-plugin-file-opener2,但我似乎无法让它与电容器 3 和 VueJs 一起工作,没有科尔多瓦。

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

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

这是我当前的代码

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

标签: vue.jsfiledownloadcapacitor

解决方案


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

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


推荐阅读