質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

Q&A

解決済

1回答

2404閲覧

flutterでバイト配列?を画像に戻す方法は?

kkgw

総合スコア49

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

0グッド

0クリップ

投稿2022/05/04 14:32

flutter webアプリ開発中です。

firebaseのclud storageに
文字列に変換したデータを登録ができました。

ダウンロード時に
そのデータの取得もできるのですが、
データを画像に戻す事ができません。
どうやってやるか分かる方いらっしゃいますでしょうか?

アップロード

drat

1 2 final picker = ImagePicker(); 3 final pickedFile = await picker.pickImage( 4 source: ImageSource.camera); 5 var imageBites = await pickedFile?.readAsBytes(); 6 String? encodeImage = base64.encode(imageBites!); 7 var collection = FirebaseFirestore.instance.collection('post'); 8 collection.add({ 9 'imagePath': encodeImage 10 });

ダウンロード

drat

1 final collectionRef = FirebaseFirestore.instance.collection( 2 'post'); // CollectionReference 3 final querySnapshot = await collectionRef.get(); // QuerySnapshot 4 final queryDocSnapshot = querySnapshot.docs; // List<QueryDocumentSnapshot> 5 var photo; 6 for (final snapshot in queryDocSnapshot) { 7 final data = snapshot.data(); 8 if( data['imagePath'] != null && data['imagePath'] != '' ){ 9 photo = base64.decode(data['imagePath']); 10 print(photo); 11 } 12 }

photoに
[137, 80, 78, 71, 13, ・・・]
が入ってきてるので、あとは、これを画像に変換できればいいのかと思っているのですが、うまくいきません。
そもそも、storageに画像ファイルをアップロードするのが普通なんだと思うんですが、
それもうまくいかず。こちらの配列を画像に変換できればと思っている次第です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

var photo; for (final snapshot in queryDocSnapshot) { final data = snapshot.data(); if( data['imagePath'] != null && data['imagePath'] != '' ){ photo = base64.decode(data['imagePath']); print(photo); } }

のあとで

Image.memory(
photo
);

とすればいいだけでした!

投稿2022/05/04 16:24

kkgw

総合スコア49

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問