본문 바로가기

컴터/Air

air 멀티 다운로드시 URLStream 으로 서버 파일 읽어와 pc에 저장 시

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Air로 멀티 다운로드 하는데,
보통은 URLStream 선언을 광역변수로 하기에 습관처럼 그렇게 했다가
계속 하나의 파일만 읽어오거나 첫번째 파일만 저장되어서
직접 URLStream 을 이벤트 함수에 등록하고 함수마다 이걸 불러 들였더니, 된다.
4일만의 쾌거다.. 언능 초보를 벗기 위해..에휴~
이제 집에 가야지.. ㅡㅡ;;


private function readDownFile(f_name:String, f_path:String):void{
     var urlReq:URLRequest = new URLRequest(incVars.incUrl().s_domain + f_path);
     var urlStream:URLStream = new URLStream();
     
     urlStream.addEventListener(ProgressEvent.PROGRESS, pgbReadFile);
     urlStream.addEventListener(Event.COMPLETE, function():void{readDownFileWrite(f_name, f_path, urlStream);});
      urlStream.addEventListener(IOErrorEvent.IO_ERROR, ioError);
     urlStream.load(urlReq);
         
    }


private function readDownFileWrite(f_name:String, f_path:String, urlStream:URLStream):void{
     var fileStr:String = ssDirPath + "\\" + f_name;
     var file:File = new File().resolvePath(fileStr);
     urlStream.readBytes(btArr, 0, urlStream.bytesAvailable);      
     fileWriteDesk(file);      
    }   
   
    private function fileWriteDesk(file:File):void{
     var fileStream:FileStream = new FileStream();
     fileStream.open(file, FileMode.WRITE);    
     fileStream.writeBytes(btArr, 0, btArr.length);    
     fileStream.close(); 
    }