Ионная загрузка нескольких ключевых изображений одновременно - PullRequest
0 голосов
/ 02 апреля 2019

Я использую Ionic 3 и реализовал загрузку изображений на основе этого учебного пособия от Devdactic.

Отлично работает при загрузке одного изображения. Моя проблема в том, что я хочу загрузить несколько изображений с несколькими ключами.

Это мой код:

upload.ts

функция для чтения захваченного файла:

  readFile(file: any) {
    const reader = new FileReader();
    reader.onloadend = () => {
      const formData = new FormData();
      const imgBlob = new Blob([reader.result], {
        type: file.type
      });
      formData.append('ktp', this.dataReg.ktp);
      formData.append('nama', this.dataReg.nama);
      formData.append('namaPerusahaan', this.dataReg.namaPerusahaan);
      formData.append('alamat', this.dataReg.alamat);
      formData.append('file1', imgBlob, this.images[0].name);
      formData.append('file2', imgBlob, this.images[1].name);
      formData.append('file3', imgBlob, this.images[2].name);
      formData.append('file4', imgBlob, this.images[3].name);
      formData.append('file5', imgBlob, this.images[4].name);
      formData.append('file6', imgBlob, this.images[5].name);
      this.uploadImageData(formData);
    };
    reader.readAsArrayBuffer(file);
  }

функция для загрузки сохраненного изображения:

  loadStoredImage() {
    this.storage.get(STORAGE_KEY).then(image => {
      if (image) {
        let arr = JSON.parse(image);
        this.images = [];
        for (let img of arr) {
          let filePath = this.file.dataDirectory + img;
          let resPath = this.pathForImage(filePath);
          this.images.push({ name: img, path: resPath, filePath: filePath });
        }
        console.log(this.images);
      }
    });
  }

функция для загрузки:

  startUpload(imgEntry) {
    this.file.resolveLocalFilesystemUrl(imgEntry.filePath)
      .then(entry => {
        alert(JSON.stringify(entry));
        (<FileEntry>entry).file(file => this.readFile(file));
      })
      .catch(_err => {
        this.serverProvider.presentError('Kesalahan membaca file.');
      });
  }

Если кто-то знает, как обмануть загрузку нескольких изображений, пожалуйста, помогите мне. Любой совет приветствуется. Спасибо.

...