2009/06/24 | 1:59 am
ZipされたJPEGを扱う(複数)
別件で忘れてましたが、とりあえず、暫定的な処理になりますが、
こんな感じで解凍を確認したので。。。
まず、ZipLoader はやめて、nochump.util.zip.*; を使用しました。
Unknown Quality の ll_koba_ll さんが、分かりやすく書かれていたのでそれを参考に。
—
ref Unknown Quality – ActionScript 3.0 でZIPの圧縮と解凍
—
↓ ZIP圧縮した「uploads」フォルダに画像が何枚か入ってる想定です。
package
{
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.ByteArray;
import nochump.util.zip.*;
public class MultiZipLoader extends Sprite
{
private var byteArray:ByteArray;
private var loader:Loader;
private var idx:int = 0;
private var lg:Number = 0;
private var bmpArray:Array = [];
public function ZipLoaderMulti()
{
var uLoader:URLLoader = new URLLoader();
uLoader.dataFormat = URLLoaderDataFormat.BINARY;
uLoader.addEventListener( Event.COMPLETE, zipLoadComplete );
uLoader.load( new URLRequest("uploads.zip") );
}
private function zipLoadComplete(e:Event):void
{
trace("zipファイルのロード完了");
byteArray = e.target.data;
var zip:ZipFile = new ZipFile( byteArray );
for( var i:int = 0; i < zip.size; i++ ) {
var entry:ZipEntry = zip.entries[i];
var zipData:ByteArray = zip.getInput( entry );
// 余計なものが入らないようにする
if( zipData.length != 0 && zipData.bytesAvailable > 0) {
lg++;
loader = new Loader();
loader.contentLoaderInfo.addEventListener( Event.COMPLETE, getBitmapData );
loader.loadBytes( zipData );
}
}
};
private function getBitmapData( e:Event ):void
{
trace("BitmapData のロード完了");
bmpArray[idx] = Bitmap( e.target.content );
idx++;
if( idx == lg ) display();
};
private function display():void
{
trace("表示します");
for( var i:int = 0; i < bmpArray.length; i++ ) {
var bmp:Bitmap = bmpArray[i] as Bitmap;
bmp.y = i * 300; // 300は適当です。
addChild( bmp );
}
};
};
};
MACユーザーの方は、右クリックで圧縮するとリソースフォークとかのアーカイブが含まれてしまうので、zip.size を trace() すると不可思議な数が出力されます。。。
なので、Clean Archiver とか使えば大丈夫です。


[...] ▼参考 GRAM | グラム » ZipされたJPEGを扱う(複数) [...]
COMMENT BY
zipファイルのプレビューワー | 水玉製作所
DATE
2010/10/12 0:24 am
[...] 参考サイト: ActionScript 3.0 でZIPの圧縮と解凍 (Unknown Quality) GRAM | グラム » ZipされたJPEGを扱う(複数) ●FZip [...]
COMMENT BY
TAM テクニカルチーム | ZipファイルをFlash上で解凍する | Tips Note
DATE
2011/03/24 15:50 pm