2015-11-12 2 views
0

Я разрабатываю приложение Ionic, и мне нужно открыть 2 файла PDF, которые хранятся в папке www приложения. Я создал функцию в контроллере, чтобы открыть эти файлы:Ionic - Не удается открыть файл PDF, находящийся внутри приложения

$scope.abrirPoliticaPrivacidade=function(){ 
     window.open('/legal/politica_de_privacidade.pdf', '_system', 'location=yes'); 
    }; 

    $scope.abrirTermosUso=function(){ 
     window.open('legal/termos_de_uso.pdf', '_blank', 'location=yes'); 
    }; 

Независимо от того, что я делаю, приложение просто не может не открывать файлы. Браузер открывает пустую страницу или внешнее приложение говорит, что файл больше не существует. Правильный путь:

файл: ///android_asset/www/legal/termos_de_uso.pdf

я делаю что-то не так?

ответ

0

Как открывать файлы непосредственно из приложения в пути не работал, я решил скопировать этот файл на пути внешнего приложения:

$scope.abrirPoliticaPrivacidade = function() { 
     abrirArquivoPDF('politica_de_privacidade.pdf'); 
    }; 

    $scope.abrirTermosUso = function() { 
     abrirArquivoPDF('termos_de_uso.pdf'); 
    }; 

    function abrirArquivoPDF(arquivo) { 
     $cordovaFile.checkFile($window.cordova.file.applicationDirectory, 'www/legal/' + arquivo) 
      .then(function() { 
       $cordovaFile.copyFile($window.cordova.file.applicationDirectory, 'www/legal/' + arquivo, $window.cordova.file.externalApplicationStorageDirectory, arquivo) 
        .then(function() { 
         window.open($window.cordova.file.externalApplicationStorageDirectory + arquivo, '_system', 'location=yes'); 
        }); 
      }); 
    } 

Короче говоря, я скопировал ПРВ файлы из applicationDirectory в externalApplicationStorageDirectory, а затем открыл файл с этого нового места.

0

Как насчет использования плагина cordova под названием «cordova-plugin-file-opener2»? Подробности можно найти из двух звеньев:

http://ngcordova.com/docs/plugins/fileOpener2/

https://github.com/pwlin/cordova-plugin-file-opener2

Он утверждает, что она будет открывать PDF-файл с помощью приложения по умолчанию устройства.

0

Веб-просмотр Android не может открывать PDF-файлы. Вы можете попытаться использовать pdf.js или использовать намерение открыть pdf-файл в другом приложении (есть некоторые плагины, которые это делают).

0

Как указано в brevleq, вам необходимо скопировать pdf-файл из приложенияDirectory в SDCard. Затем откройте файл с SDCard. Вы можете найти простой пример: ionic local file opening example. Протестировано для android, нужно проверить для ios.