просмотр / загрузка файла в приложении Phonegap iOS - PullRequest
2 голосов
/ 23 февраля 2012

Я создаю приложение iOS PhoneGap (v 1.3).В этом на странице я дал кнопку для загрузки файла .pptx.

<a href="'+downloadUrl+'" target="_blank">Download file</a>

Ссылка на кнопку указывает на ссылку для скачивания на моем сайте.Таким образом, нажатие на ссылку должно автоматически загрузить файл.
То, что происходит при нажатии на ссылку, файл загружается, но он открывается в том же виде.Все слайды pptx располагаются один под другим и занимают весь экран.Вернуться к моему приложению невозможно, кроме как убить мое приложение и перезапустить.Я пробовал target = "_blank", "_tab", ничего не работает, все приводит к аналогичному поведению со слайдами на экране, и я не могу вернуться к своему приложению.

Могу ли я сделать что-то, чтобы файл .pptx открывался в другом представлении, или, лучше, вообще не открывался и просто сохранялся (как в Android)?Пожалуйста, помогите.

Ответы [ 2 ]

2 голосов
/ 23 февраля 2012

Полагаю, вы можете посмотреть на этот плагин

Плагин PhoneGap для загрузки URL

1 голос
/ 04 октября 2013

Для загрузки и отображения файла следуйте примеру кода.

Включите данный код чуть выше тега </head> в ваш index.html

<script type="text/javascript" charset="utf-8">
        // Wait for Cordova to load
  document.addEventListener("deviceready", onDeviceReady, false);
  // Cordova is ready
  function onDeviceReady() {
      alert("Going to start download");
      downloadFile();
  }

    function downloadFile(){
        window.requestFileSystem(
                                 LocalFileSystem.PERSISTENT, 0,
                                 function onFileSystemSuccess(fileSystem) {
                                 fileSystem.root.getFile(
                                                         "dummy.html", {create: true, exclusive: false},
                                                         function gotFileEntry(fileEntry){
                                                         var sPath = fileEntry.fullPath.replace("dummy.html","");
                                                         var fileTransfer = new FileTransfer();
                                                         fileEntry.remove();
                                                         fileTransfer.download(
                                                                               "http://www.w3.org/2011/web-apps-ws/papers/Nitobi.pdf",
                                                                               sPath + "theFile.pdf",
                                                                               function(theFile) {
                                                                               console.log("download complete: " + theFile.toURI());
                                                                               showLink(theFile.toURI());
                                                                               },
                                                                               function(error) {
                                                                               console.log("download error source " + error.source);
                                                                               console.log("download error target " + error.target);
                                                                               console.log("upload error code: " + error.code);
                                                                               }
                                                                               );
                                                         },
                                                         fail);
                                 },
                                 fail);
    }
    function showLink(url){
        alert(url);
        var divEl = document.getElementById("deviceready");
        var aElem = document.createElement("a");
        aElem.setAttribute("target", "_blank");
        aElem.setAttribute("href", url);
        aElem.appendChild(document.createTextNode("Ready! Click To Open."))
        divEl.appendChild(aElem);
    }
    function fail(evt) {
        console.log(evt.target.error.code);
    }

    </script>

Ссылка: - Запись блога

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