0

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

4

1 回答 1

0

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

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

于 2012-05-16T11:52:58.097 回答