Как я могу последовательно загрузить файлы (изображения) в фоновом режиме в Ionic 3? - PullRequest
0 голосов
/ 10 ноября 2018

Я прочитал этот блог и узнал о file Transfer plugin. Они использовали его для отправки файла (изображения) на сервер. Я хочу отправить несколько файлов на сервер один за другим в последовательном порядке.

public uploadImage() {
  // Destination URL
  var url = "http://yoururl/upload.php";
 
  // File for Upload
  var targetPath = this.pathForImage(this.lastImage);
 
  // File name only
  var filename = this.lastImage;
 
  var options = {
    fileKey: "file",
    fileName: filename,
    chunkedMode: false,
    mimeType: "multipart/form-data",
    params : {'fileName': filename}
  };
 
  const fileTransfer: TransferObject = this.transfer.create();
 
  this.loading = this.loadingCtrl.create({
    content: 'Uploading...',
  });
  this.loading.present();
 
  // Use the FileTransfer to upload the image
  fileTransfer.upload(targetPath, url, options).then(data => {
    this.loading.dismissAll()
    this.presentToast('Image succesful uploaded.');
  }, err => {
    this.loading.dismissAll()
    this.presentToast('Error while uploading file.');
  });
}

Как я могу последовательно назвать этот код , чтобы по окончании одной передачи начался другой?

Ответы [ 2 ]

0 голосов
/ 10 ноября 2018

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

  • Поддерживать массив JSON. Каждый отдельный элемент, содержащий данные, которые вам нужны для загрузка, такая как имя файла, местоположение файла, целевой URL.
  • При каждом нажатии кнопки загрузки, вставьте другой элемент в этот массив.
  • Запустить цикл через массив JSON. Для каждого элемента, позвоните загрузить функция. Все данные, которые вам нужны для загрузки, уже существуют в элемент массива.
  • После успешной загрузки удалите этот элемент из массив.
0 голосов
/ 10 ноября 2018

Вам не нужен плагин Cordova-Plugin-File-Transfer для передачи файлов. Этого можно добиться с помощью API-интерфейса родного браузера XMLHttpRequest.

Ниже URL-адреса описаны различные способы передачи файлов в бэкэнд с помощью API XMLHTTPRequest.

https://cordova.apache.org/blog/2017/10/18/from-filetransfer-to-xhr2.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...