-
[React Native] android와 ios의 경로가 다른걸 알게됨.► React Native/개발일기 2023. 6. 21. 20:31반응형
📍 라이브러리: "rn-fetch-blob": "^0.12.0"
라이브러리 정보: https://www.npmjs.com/package/rn-fetch-blob
rn-fetch-blob
A module provides upload, download, and files access API. Supports file stream read/write for process large files.. Latest version: 0.12.0, last published: 3 years ago. Start using rn-fetch-blob in your project by running `npm i rn-fetch-blob`. There are 1
www.npmjs.com
📍 android와 ios의 저장경로
const { fs } = RNFetchBlob; let PictureDir = fs.dirs.PictureDir; // android 저장경로 // result: /storage/emulated/0/Pictures/파일명.jpg let DocumentDir = fs.dirs.DocumentDir; // ios 저장경로 // result: /Users/컴퓨터이름/Library/Developer/CoreSimulator/Devices/4A3E7BBF-66D8-4686-B1D3-2A6ADD3D3F26/data/Containers/Data/Application/6398C3E9-2B76-4EE4-9516-84FAD73ABB21/Documents/파일명.jpg
📍 저장된 파일(이미지) 불러올때 경로
ios는 라이브러리에서 제공하는 경로 그대로 붙여주면 파일이 불러와진다.
하지만, 안드로이드는 라이브러리에서 제공하는 경로 그대로 붙여도 파일이 불러와지지 않았다.
로그에도 경로문제라고 나오긴했지만,
같은 경로로, 파일이 저장은되는데, 불러와지지 않아서 답답했다!!
// 에러로그 Unsupported uri scheme! Uri is:
이게 그래서 permission 문제인지, 코드문제인지 계속 서칭해보고 여러가지 방법은 시도해보았는데,
리얼 단순 경로 문제였다.....
안드로이드 시스템에 대한 이해가 부족했던것 같다.
const { fs } = RNFetchBlob; let PictureDir = fs.dirs.PictureDir; // android 저장경로 let DocumentDir = fs.dirs.DocumentDir; // ios 저장경로 const PicPath4Android = 'file://' + PictureDir + '파일명.jpg'; // android result: file:///storage/emulated/0/Pictures/파일명.jpg const PicPath4Ios = DocumentDir + '파일명.jpg'; // ios result: /Users/컴퓨터이름/Library/Developer/CoreSimulator/Devices/4A3E7BBF-66D8-4686-B1D3-2A6ADD3D3F26/data/Containers/Data/Application/6398C3E9-2B76-4EE4-9516-84FAD73ABB21/Documents/파일명.jpg
📍 android의 자료구조 이해
크롬 링크창에 'file://'를 넣으면, 아래의 이미지와 같은 창이 나온다.
자료구조(파일구조)의 '색인 순차 파일(Indexed Sequential File)'을 나타내는 듯 하다.
'.vol/' 이라는 파일을 들어가보고, 링크를 확인해보면 '/슬래시'가 세개가 들어가는것을 확일 할 수 있다.
참고링크: https://developerjun2.tistory.com/149
[12] [알고리즘 - 자료구조] 파일구조란? 순차파일, 색인파일, 직접파일
파일구조란? 파일은 고유한 이름을 갖는 것을 말하며, 관련된 정보 단위의 집합을 의미합니다. 파일 시스템은 보조 기억 장치에 저장되어있는 파일들을 관리해주는 총체적인 기술 체계를 의미
developerjun2.tistory.com
슬래시는 3개는 에러날것같아서 2개는 해봤었는데.. (왜? 보통 링크 주소는 슬래시가 2개니까! https://daram-tree.tistory.com/)
3개도 그냥 해볼껄... ㅎ
덕분에 뺑뺑돌아서 해결완료! ㅋㅋ
개인적으로 개발시행착오를 겪으면서, 그런 경험들을 기록하기도하고, 모은정보들을 메모하며, 개인공부내용을 공유하는 게시물입니다. 친절한 조언과 다양한 의견 남겨주시고, 소통해주시는분들은 언제든지 환영합니다 :D
반응형'► React Native > 개발일기' 카테고리의 다른 글
[React Native] 라이브러리 및 속성 사용법 (react-native-safe-area-context) (0) 2023.08.29 [React Native] 사진개수에 따른 레이아웃 변경 (페이스북 게시물 형태) (0) 2023.06.23 [React Native] 이미지경로가 에러일때, 알림띄우기 (<Image />) (0) 2023.06.19 [React Native] 다운로드한 이미지가, '파일'앱에 안나옴 (rn-fetch-blob) (0) 2023.06.15 [React Native] 이미지 다운로드할 때, 이름 변경 (rn-fetch-blob) (0) 2023.06.13