Cordova / Ionic – Скачать файл с InAppBrowser

Сценарий выглядит следующим образом: я открываю веб-сайт в InAppBrowser, после того как пользователь заканчивает работу там, сайт создает .pdf для загрузки пользователем, проблема в том, что PDF-файл не загружается, он открывает его в браузер.

Есть ли способ загрузить его из InAppBrowser? В настоящее время я работаю над iOS-приложением, поэтому решение будет лучше для iOS.

Заранее спасибо.

One Solution collect form web for “Cordova / Ionic – Скачать файл с InAppBrowser”

Следуя советам @jcesarmobile, вот что я придумал:

Сначала мне пришлось установить кордону-плагин-файл-передачу

Открыть URL-адрес

 var url = "http://mi-fancy-url.com"; var windowref = window.open(url, '_blank', 'location=no,closebuttoncaption=Cerrar,toolbar=yes,enableViewportScale=yes'); 

Создайте прослушиватель в этом windowref для события loadstart и проверьте, что загружаемое является pdf (это мой случай).

 windowref.addEventListener('loadstart', function(e) { var url = e.url; var extension = url.substr(url.length - 4); if (extension == '.pdf') { var targetPath = cordova.file.documentsDirectory + "receipt.pdf"; var options = {}; var args = { url: url, targetPath: targetPath, options: options }; windowref.close(); // close window or you get exception document.addEventListener('deviceready', function () { $timeout(function() { downloadReceipt(args); // call the function which will download the file 1s after the window is closed, just in case.. }, 1000); }); } }); 

Создайте функцию, которая будет обрабатывать загрузку файла, а затем откройте его:

 function downloadReceipt(args) { var fileTransfer = new FileTransfer(); var uri = encodeURI(args.url); fileTransfer.download( uri, // file's uri args.targetPath, // where will be saved function(entry) { console.log("download complete: " + entry.toURL()); window.open(entry.toURL(), '_blank', 'location=no,closebuttoncaption=Cerrar,toolbar=yes,enableViewportScale=yes'); }, function(error) { console.log("download error source " + error.source); console.log("download error target " + error.target); console.log("upload error code" + error.code); }, true, args.options ); } 

Проблема, с которой я сейчас сталкиваюсь, – это путь, по которому она загружается, я просто не могу ее открыть. Но ну, по крайней мере, файл теперь загружается. Мне нужно будет создать элемент localStorage для сохранения путей для разных файлов.

На этих шагах многие проверки отсутствуют, это был просто пример, который я сделал быстро, чтобы проверить, работает ли он. Необходимы дальнейшие проверки.

  • Полоса состояния телефонной трубки перекрывается после того, как inapppbrowser или камера закрыта
  • Невозможно использовать плагин InAppBrowser для Phonegap 3.1 на iOS 7
  • Приложение Phonegap: внешний URL-адрес не открывается в браузере IOS InApp
  • Есть ли элегантный способ доступа к камере из inappbrowser в iOS?
  • inappbrowser не работает должным образом на iOS
  • Открыть ссылку в facebook в браузере или на родном приложении правильно IOS cordova
  • Interesting Posts

    Создание круговой диаграммы с использованием Core Graphics

    Как создать пустое приложение в Xcode 6 без раскадровки

    Интеграция Card.io ios с локализацией

    Проверьте правильность ответа API. JSON

    установить фоновые изображения для Iphone 3g, Iphone 4s и Iphone 5

    Цель C – Iphone. Как я могу показать цифровую клавиатуру по умолчанию?

    Что заставляет Subviews в iOS не захватывать штрихи?

    Как переместить курсор в начало текущей строки в UITextView?

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

    Xcode Bot: как получить .ipa-путь в скрипте post trigger?

    NSHTTPURLResponse отличается от iPhone 5 против 5s

    Запись, съемка Snap Shot с потоковым видео в потоковом режиме HTTP Live MPMoviePlayerController в iOS

    сортировка массива словарей

    Как заставить Flexslider отображать разные изображения в формате iOS?

    startMonitoringSignificantLocationChanges не работает в swift

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.