[typescript] Superagent를 이용한 파일 압축 및 해제
이번 포스트에서는 Superagent를 사용하여 파일을 압축하고 해제하는 방법에 대해 알아보겠습니다.
Superagent란?
Superagent는 Node.js 및 브라우저용 HTTP 요청 라이브러리입니다. 이를 사용하여 서버 간 통신이나 클라이언트에서 파일 업로드 및 다운로드를 구현할 수 있습니다.
파일 압축하기
먼저, 필요한 패키지를 설치합니다.
npm install superagent superagent-charset superagent-no-cache
npm install adm-zip
이제 다음과 같이 Superagent를 사용하여 파일을 압축할 수 있습니다.
import * as superagent from 'superagent';
import * as admzip from 'adm-zip';
const zip = new admzip();
zip.addLocalFile('/path/to/your/file.txt');
const zipBuffer = zip.toBuffer();
superagent.post('http://example.com/upload')
.attach('zipFile', zipBuffer, 'file.zip')
.end((err, res) => {
if (err) {
console.error(err);
} else {
console.log('File uploaded successfully');
}
});
위 코드에서는 superagent.post
를 사용하여 파일을 서버로 업로드하고 있습니다.
파일 해제하기
이제 Superagent를 사용하여 압축된 파일을 서버로부터 다운로드하고 해제하는 방법을 살펴보겠습니다.
import * as superagent from 'superagent';
import * as admzip from 'adm-zip';
superagent
.get('http://example.com/download/file.zip')
.responseType('arraybuffer')
.end((err, res) => {
if (err) {
console.error(err);
} else {
const zip = new admzip(res.body);
zip.extractAllTo('/path/to/extract', true);
console.log('File extracted successfully');
}
});
위 코드에서는 superagent.get
을 사용하여 서버에서 압축된 파일을 다운로드하고, adm-zip
을 사용하여 파일을 해제하고 있습니다.
이제 여러분도 Superagent를 사용하여 파일을 압축하고 해제할 수 있게 되었습니다. 감사합니다!
참고문헌: