Dynami c Индикатор выполнения в Ionic - PullRequest
0 голосов
/ 09 июля 2020

Я загружаю файлы на сервер в ioni c.

И я хочу динамически отображать прогресс загрузки на индикаторе выполнения.

Как это сделать?

Код загрузки:

async content() {
    this.camera.getPicture(this.options2)
      .then( async (videoUrl) => {
        if (videoUrl) {
          this.uploadedVideo = null;
          
          var filename = videoUrl.substr(videoUrl.lastIndexOf('/') + 1);
          var dirpath = videoUrl.substr(0, videoUrl.lastIndexOf('/') + 1);

          dirpath = dirpath.includes("file://") ? dirpath : "file://" + dirpath;
          
          try {
            var dirUrl = await this.file.resolveDirectoryUrl(dirpath);
            var retrievedFile = await this.file.getFile(dirUrl, filename, {});
          } catch(err) {
            return this.helper.presentAlert("Something went wrong.", 'Warning!');
          }
          
          retrievedFile.file( data => {
            console.log('data///////' , data);
              if (data.size > MAX_FILE_SIZE) return this.helper.presentToast('You cannot upload more than 5mb.' , 'danger');
              if (data.type !== ALLOWED_MIME_TYPE_VIDEO) return this.helper.presentToast('Incorrect file type.' , 'danger');
              this.readFileContent(data);
          });
        }
      },
      (err) => {
        console.log(err);
      });
  }


 readFileContent(file: any) {
    const reader = new FileReader();
    reader.onloadend = () => {
      this.contentBlob = new Blob([reader.result], {
        type: file.type
      });
    };
    reader.readAsArrayBuffer(file);
  }

Отправка this.contentBlob как formData ..

Может ли кто-нибудь сказать мне, как динамически отображать индикатор выполнения?

А как показать в шапке Mobile?

...