2016-12-05 6 views
0

php 함수 gzcompress로 압축 된 데이터 버퍼가 있고 js (nodejs)에서 압축을 풀어야합니다.자바 스크립트에서 Gzip 버퍼 압축 해제

gzcompress(serialize($slot[$i]['advanced_details']),8) 

나는 클래스 시도했다 : https://nodejs.org/api/zlib.html#zlib_class_zlib_gunzip

에서 zlib.Gunzip을하지만 예외 :

{ [Error: incorrect header check] errno: -3, code: 'Z_DATA_ERROR' } 

전체 버퍼를 here

내 코드 :

nodeZlib.gunzip(rows[0]['Slot'+(i+1)+'AdvancedDetails'], 8, function(error, data) { 
       if(!error) { 
        console.log = data.toString(); 
       } else { 
        console.log('Error unzipping:'); 
        console.log(error); 
       } 
      }); 

내가 뭘 잘못 했니?

답변

1

혼란스러운 형식입니다. 혼란은 PHP에서의 함수의 끔찍한 이름 짓기에 도움이됩니다. PHP의 gzcompress()은 zlib 형식을 생성하지만 node.js의 gunzip은 gzip 형식을 필요로합니다. gzip 형식을 생성하는 대신 PHP에서 gzencode()을 사용하거나 node.js의 zlib.inflate을 사용하여 zlib 형식의 압축을 풀 수 있습니다.

+0

와우라면 ... 지금 당장 확인해 보겠습니다. 정확한 답변을 확인할 것입니다. 감사합니다. –

+0

완벽한 Aaaaaand! –