Плагин ngCordova на zip не работает с Android

0

Я провел целый день, пытаясь решить эту проблему. Файл загружается и сохраняется в памяти устройства, чем распакован.

// Url of file for download
  var url = "http://exapmle/someUrl";

  // File names only
  var file = "aaa.zip";

  $scope.contenutoDownload = function () {      
    // Save location
    var targetPath = cordova.file.dataDirectory  + file;

    // Use cordovaFileTransfer to store the file in the device storage
    $cordovaFileTransfer.download(url + file, targetPath, {}, true).then(function (result) {

        console.log('File downloaded. ' + JSON.stringify(result));

        $cordovaZip
          .unzip(
            result.nativeURL,
            cordova.file.dataDirectory 
          ).then(function () {

            console.log('cordovaZip success');
            //Delete zip file
            if(cordova.platformId == 'ios') {
              $cordovaFile.removeFile(cordova.file.tempDirectory,file);
            } else {
              $cordovaFile.removeFile(cordova.file.cacheDirectory,file);
            }

          }, function () {

            console.log('cordovaZip error');

          }, function (progressEvent) {

            console.log(progressEvent);

            }
          );

      },  function (error) {

        console.log('Error with cordovaFileTransfer');

      },  function (progress) {

        $timeout(function () {
          $scope.downloadProgress = ((progress.loaded / progress.total) * 100) + '%';

      });

    });

  };

Результатом всегда является "ошибка cordovaZip", если пытаться передать любой аргумент функции (ошибка), объект не возвращается.

Теги:
cordova
ionic

1 ответ

0

Похоже, что ваш путь неверен

    $cordovaZip
      .unzip(
        result.nativeURL,
        cordova.file.dataDirectory 
      ).then(function () {

Должен или мог

    $cordovaZip
      .unzip(
        targetPath,
        cordova.file.dataDirectory 
      ).then(function () {

не уверен, что дает nativeURL, я бы утешил все из них, чтобы увидеть, какие совпадения - также думал, что nativeURL - это метод nativeURL()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню