Архивирование и разархивирование файлов в Adobe Air / Javascript - PullRequest
1 голос
/ 05 июля 2011

Я не особо использую Flex, но я использую javascript, html и css в приложении Adobe Air. Я хотел бы иметь возможность распаковать и заархивировать файлы. Я посмотрел несколько библиотек, но ни одна не работала так, как мне было нужно. Я где-то читал, что я мог бы использовать Fzip library , но мне нужно сделать это в javascript наиболее предпочтительно, но файлы представляют собой файлы ActionScript. Любой совет? Спасибо.

Ответы [ 2 ]

3 голосов
/ 05 июля 2011

Вы можете использовать практически любую библиотеку actionscript с приложением html / javascript air.Пример:

  1. Загрузить SWC-файл для airxzip: http://code.google.com/p/airxzip/downloads/list
  2. Переименовать SWC в zip и распаковать его
  3. Переименовать включенный library.swf в coltware_airxzip.swf
  4. Включите библиотеку на своей странице следующим образом:

<script src="coltware_airxzip.swf" type="application/x-shockwave-flash"></script>

Это читает файл ZIP и записывает содержимое в выходную папку на рабочем столе (если вы включили jQuery и файл AIRAliases.js из SDK):

var input = new air.File();
input.addEventListener(air.Event.SELECT, function(event) {
    var outputDirectory = air.File.desktopDirectory.resolvePath('output');
    var reader = new window.runtime.com.coltware.airxzip.ZipFileReader();
    reader.open(event.currentTarget);
    $.each(reader.getEntries(), function(i, entry) {
        if (!entry.isDirectory()) {
            var stream = new air.FileStream();
            stream.open(outputDirectory.resolvePath(entry.getFilename()), air.FileMode.WRITE);
            stream.writeBytes(reader.unzip(entry));
            stream.close();
        }
    });
});
input.browseForOpen('Select a zip file...', [new air.FileFilter('Zip files', '*.zip')]);
1 голос
/ 14 июля 2011

Я написал пример приложения для Adobe Air + FZip с использованием JavaScript.

Полагаю, я поделюсь этим здесь, если кто-нибудь еще приедет сюда через Google.

Не может ли быть слишком много рабочих примеров, верно?

Пример -> http://www.drybydesign.com/?p=233

...