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

如何使用Flutter将BASE64字符串转换为Image?,第1张

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

您可以使用构造函数将转换

Uint8List
为Flutter
Image
小部件
Image.memory
。(使用
Uint8List.fromList
构造函数的转换
List
Uint8List
如果需要的话)。你可以用
base64.enpre
走另一条路。

这是一些示例代码。

import 'dart:async';import 'dart:convert';import 'dart:typed_data';import 'package:flutter/material.dart';import 'package:http/http.dart' as http;void main() {  runApp(new MyApp());}class MyApp extends StatelessWidget {  @override  Widget build(BuildContext context) {    return new MaterialApp(      theme: new ThemeData.dark(),      home: new MyHomePage(),    );  }}class MyHomePage extends StatefulWidget {  @override  State createState() => new MyHomePageState();}class MyHomePageState extends State<MyHomePage> {  String _base64;  @override  void initState() {    super.initState();    (() async {      http.Response response = await http.get(        'https://flutter.io/images/flutter-mark-square-100.png',      );      if (mounted) {        setState(() {          _base64 = base64.enpre(response.bodyBytes);        });      }    })();  }  @override  Widget build(BuildContext context) {    if (_base64 == null)      return new Container();    Uint8List bytes = base64.depre(_base64);    return new Scaffold(      appBar: new AppBar(title: new Text('Example App')),      body: new ListTile(        leading: new Image.memory(bytes),        title: new Text(_base64),      ),    );  }}

但是,将大量二进制数据存储在数据库中通常是一个坏主意。它没有发挥Firebase实时数据库的优势,最终您将浪费带宽传输不需要的数据以及不必要的编码和解码。您应该改用

firebase_storage
插件,在数据库中存储图像的路径或下载URL。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5013550.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存