image - 如何使用 Flutter 将 BASE64 字符串转换为 Image?

我正在将我的 Firebase 数据库中保存的图像转换为 Base64,并希望进行解码和编码。我研究了类似的问题,但仍然遇到错误。这是我目前所拥有的?

var image1 = String;

var pic = event.snapshot.value['image'];
var photo = BASE64.decode(pic);
image1 = photo;

我收到以下错误...

A value of type "List<int>" cannot be assigned to a variable of type "Type"

如果您可以提供将图像编码为 Base64 的反向过程,以便可以将它们保存回 Firebase,我们将不胜感激。

***更新

这是我更新的代码,但仍然抛出错误。

image1 = event.snapshot.value['image'];
var image = BASE64.decode(image1.toString());
new Image.memory(image),

错误是……

FormatException: Invalid Length must be a multiple of 4

最佳答案

使用 'dart:convert' 包有一个更简单的方法

Image.memory(base64Decode(base64String));

实现和一些有用的方法:

import 'dart:convert';
import 'dart:typed_data';
import 'package:flutter/widgets.dart';


Image imageFromBase64String(String base64String) {
  return Image.memory(base64Decode(base64String));
}

Uint8List dataFromBase64String(String base64String) {
  return base64Decode(base64String);
}

String base64String(Uint8List data) {
  return base64Encode(data);
}

https://stackoverflow.com/questions/46145472/

相关文章:

android - 如何在 TextFormField 中显示/隐藏密码?

dart - Flutter BLoC 模式 - 如何在流事件后导航到另一个屏幕?

android - flutter : How can I add divider between

android - [Flutter]中如何打开PDF或word文档

android - Flutter 上的小部件的 onResume() 和 onPause()

dart - Flutter:在 StatelessWidget 中哪里添加监听器?

flutter - 如何在 AppBar 中用图像替换标题

dart - 如何在 flutter 中实现推送通知

dart - 在 Flutter 中设置环境变量

flutter - 有没有办法在 Flutter 中扫描条形码?