ギャラリー(アルバム)の写真を”アプリのローカル領域”に保存したいの?|File|PathProvider|ImagePicker|Flutter


ImagePicker 0.8.6+2 を使うと、本当に凄く簡単に、ギャラリー(アルバム)に保存した写真を取得できるようになるよ。


ギャラリー(アルバム)に保存した写真の取り方

以下、これだけ。本当に!

---
final XFile? photo =
    await ImagePicker().pickImage(source: ImageSource.gallery);
---

ガチのマジで…この一行の実装でギャラリー(アルバム)が起動するし、選択すると「XFile? photo」に写真データが入っている!


この写真データを使い勝手良くするには、”アプリのローカル領域”に File で保存しておくのが便利だと思う。

”アプリのローカル領域”に File を保存するには、PathProvider 2.0.12 を使うよ。


ローカル領域への書き込み方

取得した「XFile? photo」を File に書き込む。

---
/// ローカル領域(ディレクトリ)を取得
Directory appDocDir = await getApplicationDocumentsDirectory();
String appDocDirPath = appDocDir.path;

/// 空ファイルを作成
final file = File('$appDocDirPath/任意のディレクトリ/写真の名前');
await file.create(recursive: true);

/// ファイルへ写真データを書込(コピー)
await File(photo.path).copy(file.path);
---

”ローカル領域” に File で保存しておけば、例えば、アバター画像を丸くクリップしてくれる CircleAvatar とかにも直ぐに使えるのよね!


関連する記事


参照した記事


直近に読んでいた漫画(おすすめ)

コメント

このブログの人気の投稿

ImagePicker を操作すると「Lost connection to device.」とだけ言い残して強制終了するの?|iOS|Flutter

Android SDK バージョン(コンパイルに使用する Android API レベル)を変更するの?|compileSdkVersion|SDK|Android|Flutter