node.js/React.js
[React] 첨부파일 읽기 및 다운로드 및 압축파일로 만들기
IT공부블로그
2020. 3. 19. 20:57
728x90
반응형
FileSaver, jsZip 설치 필요
npm install file-saver
npm install jszip
파일 읽기
let reader = new FileReader();
reader.readAsText('읽을 파일 넣음');
reader.onload = () => {
// onload는 비동기니까 주의
console.log( reader.result );
}
파일 다운로드
FileSaver.saveAs(file or new Blob([파일내용]), 파일명);
ex) FileSaver.saveAs(new Blob([res]), file.originalFileName + "." + file.fileExtsn.toLowerCase());
FileSaver.saveAs(file, file.fileName);
파일 압축파일 다운로드
let zip = new JSZip();
// 압축파일로 만들 파일들을 넣음
this.state.attachFile.forEach( element => {
zip.file(element.name, element, {binary: true});
})
zip.generateAsync({type: 'blob'})
.then( content => {
FileSaver.saveAs(content, this.props.downloadAllFileName);
})
728x90
반응형