파파비의 블로그

플러터, flutter) 디바이스에 파일 저장하기 본문

개발/flutter

플러터, flutter) 디바이스에 파일 저장하기

N. Dave 2020. 6. 20. 16:03
반응형

이전 글처럼 카메라를 사용하게 되면, 찍은 이미지는 메모리상에 올라가지

디바이스에 저장되는 것은 아니다.

 

만약 저장되게 하고 싶다면

 

특정 path에 저장을 해야하는데, unity에서는 super EASY하지만,

여긴 그렇지 않은가보다.

 

그래서 특수한 패키지를 2개 다운받아야한다.

 

https://pub.dev/packages/path#-installing-tab-

 

path | Dart Package

A string-based path manipulation library. All of the path operations you know and love, with solid support for Windows, POSIX (Linux and Mac OS X), and the web.

pub.dev

https://pub.dev/packages/path_provider

 

path_provider | Flutter Package

Flutter plugin for getting commonly used locations on the Android & iOS file systems, such as the temp and app data directories.

pub.dev

각각의 특수한 역할들이 있는데,

디테일하게 읽어보길 바란ㄷ.

 

여기서는 아래 3줄이 패키지들을 이용한 것이다.

먼저 syspath > path provider이고, 여기서는 getApplicationDocu~ 를 썼는데, 앱 폴더 내부에 존재하는 appdata였나 여기로 연결되는 경로다.

 

path.basename은 imagePicker에 의해 자동으로 정해진 파일의 이름을 가져오게 된다.

참고로 imageFile.path는 메모리에 저장되어 있는 파일이다.

(여기 메모리는 해당 페이지의 메모리라서, 페이지가 닫히면 사라진다)

 

맨마지막 줄은 copy라는 개념인데, 해당 객체를 path에 그대로 복사하는 것을 의미한다.

appDir.path는 디렉토리를 의미하고, / 이후는 파일이름으로해서 저장하겠다는 의미이다.

그리고 그 저장된 파일을 savedFile에 연결시켜둔 것이다.

이 과정을 겪게 되면 앱이 켜져있는 동안에는 파일에 접근할 수 있지만,

앱이 꺼지면 다 사라진다.

 

 

반응형
Comments