Flutter学习之将本地相册图片转换成Base64字符串

1、问题描述:读取到本地相册图片路径后,如何通过路径将图片转换成Base64字符串?

2、解决方法:

      /*
      * 通过图片路径将图片转换成Base64字符串
      */
      static Future image2Base64(String path) async {
        File file = new File(path);
        List 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 imageBytes = await file.readAsBytes();
    return base64Encode(imageBytes);
  }
}

你可能感兴趣的:(Flutter)