2014-04-07 2 views
3

AngularJS를 사용하여 파일을 다운로드하는 동안 압축 된 파일의 압축을 풀고 싶습니다. 나는 다음과 같은 코드로 노력하고AngularJs를 사용하여 압축 파일을 어떻게 압축 해제 할 수 있습니까?

, 예를 들어

:

<a download="My_File.PNG" target="_self" ng-href="Path of the zip file/My_File.PNG.zip">My_File.PNG</a> 

가 어떻게 브라우저에서 My_File.PNG.zip에서 실제 파일 My_File.PNG을 다운로드 할 수 있습니까?

답변

2

는 직접 각도에서 그것을 할 수는 없지만 호출 할 수 있습니다 당신은 당신의 각 컨트롤러에서 호출 할 수있는 JSUnzip 라이브러리를 사용 그것은 조금 늦었지만 문제가있는 것 https://github.com/augustl/js-unzip

 var myZip = ... // Get it with an XHR request, HTML5 files, etc. 
    var unzipper = new JSUnzip(myZip); 
    unzipper.isZipFile();  // true or false 

    unzipper.readEntries(); // Creates "entries" 
    unzipper.entries;   // Array of JSUnzip.ZipEntry objects. 
+0

파일을 열려고 할 때 큰 문제가 있습니다. 오류는 대개 this.stream.charCodeAt가 함수가 아닙니다. JSUnzip.BigEndianBinaryStream.prototype.getByteAt @ ../js/js-unzip.js : 102' js-unzip.js 줄 102 getByteAt : function (index) { return this.stream.charCodeAt (index); // \t this.stream.charCodeAt (index) & 0xff; // 패치가 인터넷에서 발견되었으므로 도움이되지 않습니다. }'. –

0

각 요청.
$ http.get ('...', {responseType : "arraybuffer"})와 같은 특별한 매개 변수를 전달해야합니다.) success (successfunc);
그런 다음 압축 해제를 계속하십시오. 검색 ...

관련 문제