2010-05-04 4 views
1

현재 Adobe Air (1.5.3) 용 프로젝트에서 작업 중이며 파일의 압축을 풀어야합니다. 파일의 일부를 다른 파일로 복사해야합니다.Adobe Air App에서 Fzip lib 사용하기

그런 다음 사람들이 Fzip (http://codeazur.com.br/lab/fzip) lib에 대해 이야기하는 것을 보았습니다. 문제는 Javascript에 가져 오기 지시문이 없기 때문에이 라이브러리를 Javascript 및 Adobe Air로 "가져 오는"방법이나 사용하는 방법을 모르겠다는 것입니다.

어떻게 처리 할 수 ​​있습니까?

답변

1

Adobe Air 및 Javascript로 FZip을 사용하는 방법에 대한 데모를 게시했습니다. 나는 그것이 당신을 위해 명확한 것을 희망하기를 바랍니다.

요약하면 SWF 파일을 컴파일 된 SWC (해당되는 경우)에서 꺼내 클래스에 액세스해야합니다.

데모는 매우 간단하고 개념의 증거 일 뿐이지 만 쉽게 확장 할 수 있어야합니다.

http://www.drybydesign.com/2010/05/12/adobe-air-fzip-without-flex/

-Ari

+0

너무 간단하고 솔루션 찾기가 어렵습니다. 아리, 대단히 감사합니다! 나는 '말'을 퍼뜨릴 것이다. –

1

아리의 예는 꽤 좋은, 그리고 그것은 나를 시작있어하지만 그는 꽤 중요한 물건을 왼쪽 - 다시 디스크에 압축 파일을 쓰고있다. zip 파일은 원격으로 호스트 할 필요가 없습니다. AIR에 관한 것은 로컬 응용 프로그램처럼 실행된다는 것입니다 ... 여기 Ari이 우리에게 준 좋은 시작을 바탕으로 한 예제가 있습니다. (나는 HTML5를 사용하여 멋지고 진보적이며 현대적입니다!) -

<!DOCTYPE HTML> 
<html> 
<head> 
    <title>Test Fzip</title> 
<script type="application/x-shockwave-flash" src="scripts/fzip.swf"></script> 
<script type="text/javascript" src="scripts/AIRAliases.js"></script> 
<script type="text/javascript" src="scripts/AIRIntrospector.js"></script> 
<script type="text/javascript" src="scripts/jquery-1.4.2.js"></script> 
<script type="text/javascript"> 
     var fzip; 
     if (window.runtime) { 
      if (!fzip) 
       fzip = {}; 
       fzip.FZip = window.runtime.deng.fzip.FZip; 
       fzip.FZipFile = window.runtime.deng.fzip.FZipFile; 
     } 
     var file = air.File.documentsDirectory.resolvePath("test.zip"); 
     //file.url 
     var zip = new fzip.FZip; 
     zip.addEventListener(air.Event.OPEN, onopen); 
     zip.addEventListener(air.Event.COMPLETE, oncomplete); 
     zip.load(new air.URLRequest(file.url.toString())); 

     function oncomplete(event) { 
      var count = zip.getFileCount(); 
         alert(count); 

      for (var idx = 0; idx < count; idx++) 
      { 
       var zfile = zip.getFileAt(idx); 
       // alert(zfile.filename); 
       var uzfile = air.File.applicationStorageDirectory.resolvePath(zfile.filename); 
       var stream = new air.FileStream(); 
       stream.open(uzfile, air.FileMode.WRITE); 
       stream.writeBytes(zfile.content,0, zfile.content.length); 
       stream.close(); 
      } 

     } 

     function onopen(event) { 
      alert("file is opened"); 
     } 
</script> 
</head> 
    <body> 


    </body> 
</html>