首页 > 解决方案 > 实现下载通知文件 ionic 3

问题描述

我有以下两难境地,我正在使用 Ionic 3,并且我有一个从 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();
        });

如果有人有一个网站,上面有一个如何正确实施的例子,我将不胜感激,因为此时我有点被屏蔽了,我找不到解决方案。

非常感谢提前提供的帮助

标签: ionic3download-manager

解决方案


推荐阅读