在Adobe Air/Javascript中压缩和解压缩文件

Zipping and Unzipping files in Adobe Air/Javascript

本文关键字:压缩 解压缩 文件 Javascript Adobe Air      更新时间:2023-09-26

我不是特别使用Flex,而是在adobe-air应用程序中使用javascript、html和css。我希望能够解压缩和压缩文件。我看了一些库,但没有一个能像我需要的那样工作。我在某个地方读到我可以使用Fzip库,但我最好用javascript来做,但这些文件都是actionscript文件。有什么建议吗?谢谢

您几乎可以将任何actionscript库与html/javascript air应用程序一起使用。示例:

  1. 下载airxzip的swc文件: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文件并将内容写入桌面上的输出文件夹(假设您已经包含了SDK中的jQuery和AIRAliases.js文件(:

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')]);

我使用javascript为Adobe Air+FZip编写了一个示例应用程序。

我想我会在这里分享,以防其他人通过谷歌来到这里。

永远不会有太多的工作例子,对吧?

示例->http://www.drybydesign.com/?p=233