1、问题描述:读取到本地相册图片路径后,如何通过路径将图片转换成Base64字符串?
2、解决方法:
/*
* 通过图片路径将图片转换成Base64字符串
*/
static Future image2Base64(String path) async {
File file = new File(path);
List<int> imageBytes = await file.readAsBytes();
return base64Encode(imageBytes);
}
注意:File类的使用需要导入:import 'dart:io';
3、使用方法(异步使用):
EncodeUtil.image2Base64(path).then((data){
String imageBase64=data;
});
4、完整工具类:
import 'package:crypto/crypto.dart';
import 'dart:convert';
import 'dart:io';
class EncodeUtil {
/*
* Md5加密
* */
static String generateMd5(String data) {
var content = new Utf8Encoder().convert(data);
var digest = md5.convert(content);
return digest.toString();
}
/*
* Base64加密
*/
static String encodeBase64(String data) {
var content = utf8.encode(data);
var digest = base64Encode(content);
return digest;
}
/*
* Base64解密
*/
static String decodeBase64(String data) {
return String.fromCharCodes(base64Decode(data));
}
/*
* 通过图片路径将图片转换成Base64字符串
*/
static Future image2Base64(String path) async {
File file = new File(path);
List<int> imageBytes = await file.readAsBytes();
return base64Encode(imageBytes);
}
}