Flutter 将 base64 转换为图片

24 min read

要将base64字符串转换为图像,您可以使用Flutter中的image_picker插件和dart:convert库。首先,确保已添加image_picker和dart:convert库到您的pubspec.yaml文件中。

然后,您可以使用以下代码将base64字符串转换为图像:

import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';

class ImagePreview extends StatefulWidget {
  final String base64String;

  ImagePreview({required this.base64String});

  @override
  _ImagePreviewState createState() => _ImagePreviewState();
}

class _ImagePreviewState extends State<ImagePreview> {
  late ImageProvider imageProvider;

  @override
  void initState() {
    super.initState();
    imageProvider = MemoryImage(
      base64Decode(widget.base64String),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Center(
        child: Image(
          image: imageProvider,
          fit: BoxFit.cover,
        ),
      ),
    );
  }
}

然后,您可以通过调用ImagePreview组件并传入base64字符串来显示图像:

final String base64String = "your_base64_string_here";

Navigator.push(
  context,
  MaterialPageRoute(
    builder: (context) => ImagePreview(base64String: base64String),
  ),
);

这将打开一个新的页面,显示将base64字符串转换为图像后的图像。