在as3中压缩文件夹

时间:2012-05-16 09:37:48

标签: actionscript-3

我正忙着从flash中的文件夹创建一个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放在我的桌面上。这工作得很好,但我如何选择文件夹而不是文件?我想选择一个文件夹及其子文件夹和内容,并将其保存在我的桌面上。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

使用方法flash.filesystem.File.browseForDirectory()

请参阅:Adobe AS3 reference flash.filesystem.File