Flutter:将图像转换为 Base64 字符串,反之亦然

在 Flutter 中,您可以将本地或网络图像(或其他类型的文件)编码为 base64 字符串,如下所示:

import 'dart:io';
import 'dart:convert';
import 'dart:typed_data';

/* ...*/

//Create a file object from a local image file
String _imagePath = "/* Path to your image */";
File _imageFile = File(_imagePath);

// You can also create a file object from a URL like this:
// File _imageFile = File.fromUri('https://www.kindacode.com/non-existing-image.png');

// Read bytes from the file object
Uint8List _bytes = await _imageFile.readAsBytes();

// base64 encode the bytes
String _base64String = base64.encode(_bytes);

// Do something with the base64 string

您可以将 base64 字符串解码为图像文件,如下所示:

import 'dart:io';
import 'dart:convert';
import 'dart:typed_data';

/* ... */

final base64String = '/* your base64 string here */';
Uint8List _bytes = base64.decode(base64String);
File _myFile = File.fromRawPath(_bytes);
// Do something with the file object

如果要将文件写入设备磁盘,请执行以下操作:

import 'dart:io';
import 'dart:convert';
import 'dart:typed_data';

// Run "flutter pub add path_provider" to install the path_provider package
import 'package:path_provider/path_provider.dart';

/* ... */

final base64String = '/* your base64 string here */';
Uint8List _bytes = base64.decode(base64String);
final _directory = await getTemporaryDirectory();
File file = await File('${_directory.path}/my-image.jpg').create();
file.writeAsBytesSync(_bytes);
免责声明:
1.本站所有内容由本站原创、网络转载、消息撰写、网友投稿等几部分组成。
2.本站原创文字内容若未经特别声明,则遵循协议CC3.0共享协议,转载请务必注明原文链接。
3.本站部分来源于网络转载的文章信息是出于传递更多信息之目的,不意味着赞同其观点。
4.本站所有源码与软件均为原作者提供,仅供学习和研究使用。
5.如您对本网站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。
火焰兔 » Flutter:将图像转换为 Base64 字符串,反之亦然