2012-05-16 78 views
0

我正忙于从Flash中的文件夹中创建压缩文件。到目前为止,我有以下几点。在as3中压缩文件夹

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

回答