无法使用 Ionic 和 Vue.js 保存文件

Posted

技术标签:

【中文标题】无法使用 Ionic 和 Vue.js 保存文件【英文标题】:Can't save file using Ionic and Vue.js 【发布时间】:2020-12-22 18:48:02 【问题描述】:

我正在尝试保存从 API 获得的图像并保存在我的应用程序中。我目前正在使用 Ionic 5 和 Vue.js。

为了保存图片,我使用ionic native file library.

问题是我无法让它在 androidios 或 Web 上运行。我不太了解这个库是如何工作的,我尝试过两种方式使用它:

我尝试的第一件事是用作静态方法,但它不起作用,所有参数都返回null

import  File  from '@ionic-native/file';

private async getImage(token: string, model: Model): Promise<Model> 
    const  thumbnailLink  = model.images;
    const response = await axios.get(thumbnailLink,  responseType: 'arraybuffer' );
    File.writeFile(`$token/model-$model.id`, 'thumbnail.png', response.data);

我尝试的第二种方法是实例化类,它也没有成功。

import  File  from '@ionic-native/file/ngx';

private async getImage(token: string, model: Model): Promise<Model> 
    const  thumbnailLink  = model.images;
    const response = await axios.get(thumbnailLink,  responseType: 'arraybuffer' );
    (new File()).writeFile(`$token/model-$model.id`, 'thumbnail.png', response.data);

如果有人能帮我弄清楚该怎么做,我已经尝试解决一天了。谢谢!

【问题讨论】:

在第二个示例中,您从file/ngx 导入File,但ngx 代表angular version x。我从未使用过 Vue 和 Ionic,但是在 Angular 中,您需要在类的构造函数中注入 File。 【参考方案1】:

https://capacitorjs.com/docs/apis/filesystem

import  Plugins  from "@capacitor/core";
const  Filesystem  = Plugins;

稍后在您的代码中

Filesystem.write(...)

【讨论】:

以上是关于无法使用 Ionic 和 Vue.js 保存文件的主要内容,如果未能解决你的问题,请参考以下文章

Ionic 4+Vue JS 汉堡菜单

Android 中的电容器相机预览上方未显示叠加层(Vue js + Ionic)

无法使用照片库在 iOS 设备中保存图像 - ionic 3

使用表单的响应将数据集属性保存在 JSON 文件中 (Vue.js)

如何使用 Vue.js 2、BootstrapVue 和 axios 在 Chrome 中启用内置密码保存提示

Vue.js、Axios、JSon 和无刷新