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 ui

壓縮後的上傳還沒完成.......google

其餘壓縮解壓縮類庫:spa

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

相關文章
相關標籤/搜索