Передача файлов, onProgress не работает на iOS (IONIC3)

Я работал с fileTransfer из нативного Ionic, он отлично работает на Android, но на iOS вообще ничего не делает.

Вот мой код:

getFile(fileName,url){   
      let fileTransfer: FileTransferObject = this.transfer.create();
      fileTransfer.download(url, this.file.dataDirectory + fileName).then((entry) => { 
        console.log('entry:',entry)   
      }, (error) => { console.log(error); });   
      console.log('file transfer',fileTransfer.onProgress) 
     var a = fileTransfer.onProgress((progressEvent: ProgressEvent) => { 
        this.ngzone.run(() => {   
          console.log(progressEvent.loaded)
        });
      });
  }

person Shing    schedule 03.08.2017    source источник
comment
В этом репозитории есть хороший пример того, как заставить fileTransfer работать на iOS: github.com/dtaalbers/ ionic-example-app. Я последовал этому примеру, и это сработало. Эта проблема как-то связана с областью видимости.   -  person Jordan Daniels    schedule 19.03.2019


Ответы (1)


это зависит от того, как получить this.file.dataDirectory.

В моем случае это всегда работает так..

declare var cordova:any; //on top of file

if (this.platform.is('android')) {
    this.fsurl = cordova.file.dataDirectory;
}else{
    this.fsurl = cordova.file.documentsDirectory;
}
person enRaiser    schedule 03.08.2017
comment
привет @enRaiser, спасибо за вашу помощь, но это все еще не работает на iOS, передача файлов в порядке, купите, я хочу показать прогресс, сколько процентов или размер файла он загрузил. Он отлично работает на Android, но iOS вообще ничего не показывает. - person Shing; 03.08.2017