我正在与Cordova一起使用Ionic来开发我的第一个Android应用程序,我需要从REST api检索图像并将其存储在设备上,因此即使设备处于离线状态也可以使用它。
这是即时通讯正在使用的当前版本:
离子:
离子CLI:6.10.1(C:\ Users \ agusd \ AppData \ Roaming \ npm \ node_modules @ ionic \ cli) 离子框架:@ ionic / angular 5.3.1 @ angular-devkit / build-angular:0.901.12 @ angular-devkit / schematics:9.1.12 @ angular / cli:9.1.12 @ ionic / angular-toolkit:2.3.0
电容器:
电容器CLI:2.4.0 @ capacitor / core:2.4.0
科尔多瓦:
Cordova CLI:9.0.0(cordova-lib@9.0.1) Cordova平台:Android 8.1.0 Cordova插件:cordova-plugin-ionic-keyboard 2.2.0,cordova-plugin-ionic-webview 4.2.1(和其他4个插件)
我遵循的是适用于Ionic 3的指南,但无法使其在我当前的Ionic版本上运行。
到目前为止,我设法获取了包含URL的JSON对象,但是我不知道如何下载该图像并将其存储到我的资产文件夹中。
我的代码是这样的:
api.service.ts:
apiURL = 'my api url...';
getDiarios() {
const diarioArgs = {
method: 'GET',
mode: 'cors',
headers: {
'Content-Type': 'application/json' }
};
return this.http.get(this.apiURL, diarioArgs);
}
然后我有这个函数,该函数调用服务并检索响应:
data: any;
lastDiario: any;
lastID = 0;
loadLastDiario() {
try {
this.apiService.getDiarios().subscribe(
(data) => {
this.data = data;
for (const item of this.data.content) {
if (item.id > this.lastID) {
// I get the object with the largest id, which means is the last uploaded
this.lastID = item.id;
this.lastDiario = item;
}
}
console.log(this.lastDiario);
for (const item of this.lastDiario.archivos) {
// Here is where I need to save every item of "archivos" into my assets folder or any other
// Every item has an URL property that I can get through **this.lastDiario.archivos.url**
}
}
);
} catch (error) {
console.log("Couldn't connect to the service")
}
}
如果有人可以帮助我,那么我一般对Ionic和Angular还是陌生的,因此任何建议都将对您有所帮助!
答案 0 :(得分:1)
资产文件夹在运行时是只读的。
您只能在设计时在其中存储文件。