LZMA Encoder 是AS3下使用LZMA算法壓縮數據的類庫。算法
使用方法:異步
// 初始化 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();
// TODO ui
壓縮後的上傳還沒完成.......google
其餘壓縮解壓縮類庫:spa
http://blog.yoz.sk/2011/01/quick-tip-compression-in-flash/code