대런대런
CodeCraft
대런대런
전체 방문자
오늘
어제
  • 분류 전체보기 (18)
    • 블록체인 (1)
    • Front-end (13)
      • Browser (2)
      • React & React Native (11)
    • Windows (4)
    • 알고리즘 (0)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • apollo-client
  • 앱스토어 업로드
  • 브라우저 원리
  • 파일 안보임
  • react native
  • react-native-fs
  • 윈도우10
  • react
  • ios 파일다운로드
  • web3
  • local server
  • style overriding
  • strapi
  • edge effect
  • rn-fetch-blob
  • ios build
  • webkit
  • offsetLimitPagination
  • 브라우저 엔진
  • main.jsbundle

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
대런대런
Front-end/React & React Native

React Native 파일 다운로드 구현 (rn-fetch-blob VS react-native-fs)

Front-end/React & React Native

React Native 파일 다운로드 구현 (rn-fetch-blob VS react-native-fs)

2020. 11. 17. 16:55
반응형

React Native에서 간단한 파일 다운로드를 구현할 일이 있어 패키지를 검색하던중 가장 star가 많은 두 패키지를 비교하였다.

 

npm trend 비교

www.npmtrends.com/react-native-fs-vs-rn-fetch-blob

 

react-native-fs (star 3.8k, 오래됨)

import RNFS from 'react-native-fs';

const download = async (file: File) => {
  const downloadDest = `${RNFS.DocumentDirectoryPath}/${file.name}`;
  const {promise} = RNFS.downloadFile({
    fromUrl: BACKEND_URL + file.url,
    toFile: downloadDest,
  });
  const {statusCode} = await promise;
};

 

rn-fetch-blob (star 2.2k, 안드로이드 다운로드 매니저 지원)

import RNFetchBlob from 'rn-fetch-blob';

const download = async (file: File) => {
  await RNFetchBlob.config({
    addAndroidDownloads: {
      useDownloadManager: true,
      notification: true,
      path: `${RNFetchBlob.fs.dirs.DownloadDir}/${file.name}`,
    },
  }).fetch('GET', BACKEND_URL + file.url);
};

 

둘다 잘 다운로드 되지만, 안드로이드 다운로드 매니저를 통하는 방식을 지원하는건 rn-fetch-blob만 가능하여 이 패키지로 선택하였다.

반응형

'Front-end > React & React Native' 카테고리의 다른 글

React Native 이미지/동영상 갤러리(스와이프) 구현 삽질기  (4) 2020.11.26
React Native 컴포넌트에서 children 스타일 덮어쓰는 방법  (0) 2020.11.19
[React] ApolloClient 캐시 비우는 간단한 방법  (0) 2020.11.19
[Strapi + React] ApolloClient로 초간단 pagination 구현하기  (0) 2020.11.18
React Native 안드로이드 스크롤 끝 이펙트(edge effect) 설정  (0) 2020.11.18
    'Front-end/React & React Native' 카테고리의 다른 글
    • React Native 컴포넌트에서 children 스타일 덮어쓰는 방법
    • [React] ApolloClient 캐시 비우는 간단한 방법
    • [Strapi + React] ApolloClient로 초간단 pagination 구현하기
    • React Native 안드로이드 스크롤 끝 이펙트(edge effect) 설정
    대런대런
    대런대런
    IT & 프로그래밍 관련 블로그

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.