フラッシュ内のフォルダーから zip ファイルを作成するのに忙しいです。これまでのところ、私は次のものを持っています。
public function writeFolderToZip():void {
var byteLoader:URLLoader = new URLLoader();
byteLoader.dataFormat = URLLoaderDataFormat.BINARY;
byteLoader.addEventListener (flash.events.Event.COMPLETE, onBytesLoaded);
var fileRequest:URLRequest = new URLRequest ("//Users/Thibaut/Desktop/vincent_test.indd");
byteLoader.load (fileRequest);
}
public function onBytesLoaded(event:flash.events.Event):void {
var saveZip : Function = function(zip : FZip) : void {
var out : ByteArray = new ByteArray();
zip.serialize(out);
saveRef.addEventListener(flash.events.Event.COMPLETE,
function(e : flash.events.Event) : void {
trace("done");
});
var fs : FileStream = new FileStream;
var targetFile : File = File.desktopDirectory.resolvePath(zipName);
fs.open(targetFile, FileMode.WRITE);
fs.writeBytes(out);
fs.close();
};
var zip : FZip = new FZip();
zip.addFile("vincent_test.indd", event.target.data);
saveZip(zip);
}
これにより、urlLoader を含むファイルが選択され、圧縮されてデスクトップに zip として配置されます。これは非常にうまく機能していますが、ファイルの代わりにフォルダーを選択するにはどうすればよいですか? サブフォルダーとコンテンツを含むフォルダーを選択し、デスクトップに保存したいと考えています。何か案は?