问题描述
我正在为一些我认为很简单的事情而苦苦挣扎。
理想情况下,我想以与从浏览器下载时相同的提示保存我的 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 上也不起作用。