2016-11-06 2 views
0

폴더의 파일을 zip plugin을 사용하여 외부 위치에 압축을 해제하려고합니다.cordova www 폴더에서 파일을 압축 해제

응용 프로그램 시작시 변수 folder에 외부 데이터 디렉토리를 지정합니다.

window.resolveLocalFileSystemURL(cordova.file.externalDataDirectory, function (folder) { 
       $filex.folder= folder; 
}); 

그런 다음 dataUnzip을 호출합니다.

dataUnzip:function(){ 
     var wwwPath = window.location.pathname; 
     var basePath = 'file://'+ wwwPath.substring(0,wwwPath.length-10); 
     window.resolveLocalFileSystemURL(basePath+'ex.zip', 
     function(fileDB){ 
      alert('success! database was found') 
       unzipFiles(fileDB); 

     }, 
     function(){ 
      alert('failure! database was not found') 
     }); 

     function unzipFiles(fileDB){ 
      zip.unzip(fileDB,$filex.folder.nativeURL + "", 
       function (a) { 
        alert('Zip decompressed successfully' + a); 
       } 
      ); 
     } 
} 

그러나 항상 출력은 Zip decompressed successfully -1입니다. -1은 외부 위치에서 .zip을 externalDataDirectory과 같이 압축 해제하면 unzip has failed.it가 작동 함을 의미하지만 파일이 www 디렉토리에 압축 해제됩니다. -1이 아닌 설명적인 오류를 가져 오는 방법이 있습니까? 그리고 압축 해제 오류의 원인은 무엇입니까? 여기

외부 데이터 디렉토리

enter image description here

답변

0

Read here for documentation about file permissions etc

모든 플랫폼에서 사용할 수 없습니다 www가 폴더의 스크린 샷, 당신은 어떤 플랫폼에서 테스트?

응용 프로그램 디렉토리에 압축을 해제 한 파일을 저장할 수 있습니까?

그렇지 않은 경우 각 플랫폼마다 다른 위치를 사용해야하고 병합 폴더를 사용해야 할 수도 있습니다.

+0

글쎄 난 안드로이드에 초점을 맞추고있어. 문제는 외부 데이터 Directory.i와 외부 디렉토리에 아무것도 압축을 풉니 다 수 있습니다. 내가 www 폴더 외부에서 압축을 풀려고 할 때 문제가 작동하지 않습니다. www 폴더와 함께있다 –

+0

www 폴더에서 zip을 외부 데이터 디렉토리로 복사하고 거기에서 압축을 풀어야 할 것입니다. 나는 그것이 www 폴더에 무언가를 쓰려고 노력하고 있으며 www 폴더에 쓸 수있는 권한이 없기 때문에 불가능하다고 생각합니다. –

관련 문제