web-dev-qa-db-ja.com

永続化のためにフラッターで画像データをsqfliteデータベースに保存する方法

データをオフラインにしたいFlutterアプリを作成しています。

カメラまたはギャラリーの画像ピッカーを使用して画像をキャプチャし、その画像をFile image変数に保存できます。

File _avatarImg;

void _getImage(BuildContext context, ImageSource source) {
    ImagePicker.pickImage(
      source: source,
      maxWidth: 400.0,
      maxHeight: 400.0,
    ).then((File image) {
      _avatarImg = image;
    });
  }

これは完全に機能しますが、私の質問は、永続化のためにこのイメージを保存するにはどうすればよいですか?画像が配置されている電話のローカルメディアディレクトリへの文字列リンクを保存する必要がありますか?その場合、ユーザーが誤って画像を削除してしまったのではないかと心配になります。または、画像自体をBLOBのデータベースに保存しますか?これのベストプラクティスは何ですか?

6
ZeroNine

画像をBASE64に変換し、画像を文字列としてデータベースに保存できます。 this link および this one を確認します

6
Daniil Yakovlev