Flex 学习笔记------基于LZMA的文件压缩与上传

基于LZMA算法的文件压缩与上传

LZMA Encoder 是AS3下使用LZMA算法压缩数据的类库。

1. 压缩

使用方法:

// 初始化 LZMAEncoder 实例

var lzma_enc:LZMAEncoder = new LZMAEncoder();

// 调用压缩接口 (同步式/阻塞式)
lzma_enc.encode(input_data:ByteArray, output_data:ByteArray);

// -----------------
// 异步调用方法
// -----------------

lzma_enc.addEventListener(Event.COMPLETE, onAsyncEnd);
lzma_enc.addEventListener(ProgressEvent.PROGRESS, onAsyncProgress);

lzma_enc.encodeAsync(input_data:ByteArray, output_data:ByteArray);

function onAsyncProgress(e:ProgressEvent):void
{
    //'PROGRESS: ' + String(int(e.bytesLoaded / e.bytesTotal * 100 + 0.5));
}

function onAsyncEnd(e:Event):void
{
    // 输出压缩后的 ByteArray 数据
}

// 停止压缩
lzma_enc.stopAsync();

2. 上传

// TODO 

压缩后的上传还没完成.......

其他压缩解压缩类库:

http://blog.yoz.sk/2011/01/quick-tip-compression-in-flash/

posted on 2013-08-07 10:31  花森  阅读(468)  评论(1编辑  收藏  举报