我遇到以下难题,我正在使用Ionic 3,并且有一个类可以从URL下载文件,该URL带给我REST服务。此下载文件没有问题,但是我不知道如何实现,或者我没有正确搜索添加下载通知,如以下链接所示: ionic 2 show file download progress in notification
在链接中有2个与如何添加库相对应的答案,但我不知道它们是否也与IOS兼容,因为我需要它们适用于android和IOS。 我目前正在使用file.transfer将文件保存在设备上。我在下面留下代码:
this.platform.ready().then(() => {
this.databaseService.getSesion(2).then(result => {
this.rutUsuario = result.valor;
})
.catch( error => {
});
if (this.platform.is('ios')) {
this.storageDirectory = cordova.file.documentsDirectory;
}
else if(this.platform.is('android')) {
this.storageDirectory = cordova.file.externalRootDirectory + '/Download/';
/**
* Permisos de Android
*/
this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.READ_EXTERNAL_STORAGE).then(
result => {
if (result.hasPermission) {
// code
} else {
this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.READ_EXTERNAL_STORAGE).then(result => {
if (result.hasPermission) {
// code
}
});
}
},
err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.READ_EXTERNAL_STORAGE)
);
}
else {
// exit otherwise, but you could add further types here e.g. Windows
return false;
}
});
}
if(respuesta.status == "200") {
let autorizacion = this.resultado.headers;
let nombreArchivo = datos.split("tmp/");
let urlFinal = datos;
fileTransfer.download(urlFinal , this.storageDirectory + nombreArchivo[1]).then((entry) => {
this.alerta("Se ha descargado el archivo de manera satisfactoria.");
this.loading.dismissAll();
this.databaseService.GuardaSQLlite(1, autorizacion.authorization);
this.navCtrl.setRoot(HomePage);
}, (error) => {
this.alerta("Hubo un error al momento de descargar el archivo. Si el problema persiste favor contactarse al 816 35 12 o 816 35 09.");
this.loading.dismissAll();
});
如果某人的网站上提供了有关如何正确实施的示例,我将不胜感激,因为此时我被某种程度的封锁,无法找到解决方案。
非常感谢事先提供的帮助