Разархивировать плагин для PhoneGap 2.3 или выше в Android?

1

Я ищу плагин phonegap 2.3 для Android, который может распаковать папку. Я нашел этот плагин в официальном репозитории phonegap но он работает только в phonegap 1.3. Он распаковывает только половину файла. У меня есть ZIP-папка, содержащая 50 60 html файлов. но он извлекает только от 5 до 10 файлов и возвращает "Ошибка ввода-вывода". Пожалуйста, помогите мне найти unzip-плагин android для PhoneGap 2.3 или выше

Я отредактировал этот плагин, который вы также можете скачать с

https://github.com/ashishanautiyal/Unzip-PhoneGap--Plugin

Теги:
cordova
phonegap-plugins

1 ответ

3

[EDIT] (Изменен ответ)

Временный альтернативный способ сделать это с помощью JavaScript. Здесь код -

var readFile = function(){
    $("#status").html("<br/>");
    var url= $("#urlToLoad").val();
    var doneReading = function(zip){
        extractEntries(zip);
    };

    var zipFile = new ZipFile(url, doneReading);
};


// this function extracts the entries from an instantiated zip
function extractEntries(zip){
    $('#report').accordion('destroy');

    // clear
    $("#report").html('');

    var extractCb = function(id) {
        // this callback is invoked with the entry name, and entry text
        // in my demo, the text is just injected into an accordion panel.
        return (function(entryName, entryText){
            var content = entryText.replace(new RegExp( "\\n", "g" ), "<br/>");
            $("#"+id).html(content);
            $("#status").append("extract cb, entry(" + entryName + ")  id(" + id + ")<br/>");
            $('#report').accordion('destroy');
            $('#report').accordion({collapsible:true, active:false});
        });
    }

    // for each entry in the zip, extract it. 
    for (var i=0; i<zip.entries.length;  i++) {
        var entry = zip.entries[i];

        var entryInfo = "<h4><a>" + entry.name + "</a></h4>\n<div>";

        // contrive an id for the entry, make it unique
        var randomId = "id-"+ Math.floor((Math.random() * 1000000000));

        entryInfo += "<span class='inputDiv'><h4>Content:</h4><span id='" + randomId +
            "'></span></span></div>\n";

        // insert the info for one entry as the last child within the report div
        $("#report").append(entryInfo);

        // extract asynchronously
        entry.extract(extractCb(randomId));
    }
}

Прикрепите это к событию Click, также может потребоваться время для больших zip файлов. Он работает с node.js

  • 0
    спасибо, позвольте мне попробовать
  • 0
    Бро, я использовал этот плагин в 1.3, но он не работает. я, для папки хорошо, но у меня есть 100 файлов в zip. это не папка, которая является почтовым индексом
Показать ещё 9 комментариев

Ещё вопросы

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