-
ReactJS에서 파일 다운로드 처리 방안HTML + JAVASCRIPT + CSS/ReactJS+AngularJS +VueJS 2020. 6. 10. 22:14728x90
요즘 ReactJS를 이용해서 개발을 진행하고 있습니다.
사용하면서 간간히 만나는 문제들을 풀어가고 있는데,
API에서 DOWNLOAD를 구현하고 React에서 해당 결과를 받아 보니 처음 보는 ReadableStream가 튀어 나왔습니다.
처리 방법은 여러가지가 있었는데, 우선 나는 다음과 같이 처리 했습니다.
ReadableStream을 blob으로 변경하여 file-saver 전달 하였습니다.
처리 코드
import fileDownload from 'file-saver'; const callFileDownload = async (file_name, file_path) => { const res = await CustomFetch('/fileDownload', { responseType: 'blob', method: 'POST', headers: { 'Content-Type': 'application/json', }, }, { "_id": noticeId, file_name, file_path }); fileDownload(await (await new Response(res.body)).blob(), file_name); }
다음에 또 ReadableStream을 만나면 쫄지말아야겠습니다.
참고 자료
728x90'HTML + JAVASCRIPT + CSS > ReactJS+AngularJS +VueJS' 카테고리의 다른 글
[TIP ReactJS] Material-UI에서 애니메이션을 제거하여 성능 향상 처리 (0) 2020.07.08 ReactJS Proejct Docker 이미지 생성 & 배포 하기 (0) 2020.06.24 ReactJS + MaterialUI = Custom Components (0) 2020.06.22 Reactjs 초기 프로젝트 구성하기 (0) 2019.07.17 Reactjs] Create-react-app 시작하기 (0) 2019.07.08