Flutter로 캐시에 저장된 파일 열기
about
「Flutter로 단말의 캐시 영역에 저장한 파일을 여는 방법」이 발견되지 않고 고생했기 때문에 정리했습니다
path_provider
로 패스를 얻고 open_file
로 열면 OK였습니다.경위
구현의 문맥은 이하
문제
해결안
샘플
샘플 프로젝트는 다음
htps : // 기주 b. 코 m / 꽤 3 / ぇ _ an d_ 오 펜 _ 도쿠 멘 t_f ぅ
path_provider의 샘플 앱에 이번 요구 사항을 추가한 형태로 되어 있습니다.
방법
open_file
사용하면 괜찮습니다.htps // 푸 b. V / Pac 가게 s / Open_Fue
url_launcher에서 열려고했습니다.
OpenFile.open()에서 경로를 전달하면 OS에 따라 적절하게 해석해줍니다.
type 및 uti 옵션을 붙일 수도 있습니다.
힘든 일
url_launcher가 내부 영역에 대한 액세스를 지원하지 않았습니다.
URL을 전달하고 뷰어를 열 때 사용했기 때문에 url_launcher에서 확인했습니다.
저장한 패스를 건네주어 검증하고 있었습니다만, 반드시 예외에 들어가는 것 같습니다.
※ 잘 설정하면 file://이나 contents://로 액세스 할 수있는 방법이있을지도
Android/iOS 모두를 지원하고 싶습니다.
결과적으로 path_provider를 사용하면
OS마다 메소드 채널을 쓰려고 했다.
시행 착오 중에는 다양한 보존 대상을 시도해야했습니다.
캐시 영역에 저장할 수는 있지만 읽기가 잘못되었기 때문에
/sdcard/
이하에 보존하는 것도 생각했다. (Android)이 경우 권한 관리와 iOS 분기가 필요합니다.
또, 열람한 것만으로 보존까지 되어 버리므로 삭제가 필요하게 된다.
끝
구구리 힘이 부족해서 하루 녹아 버렸다.
기존 프로젝트에서 여러 가지 시도 비용을 견딜 수 없기 때문에,
샘플 프로젝트를 만들어 모든 패턴 자동으로 시도했습니다.
Reference
이 문제에 관하여(Flutter로 캐시에 저장된 파일 열기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kanari3/items/0c025eb6afe51a5eaaad텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)