【问题标题】:How to convert image file to base64 String in flutter?如何在颤动中将图像文件转换为base64字符串?
【发布时间】:2020-10-29 09:54:30
【问题描述】:

我正在尝试在颤振中转换图像文件:

 File _img=new File('/data/user/0/com.example.test3/app_flutter/2020-10-29T17:18:56.210347.png');
 List<int> imageBytes = _img.readAsBytesSync();
 String imageB64 = base64Encode(imageBytes);
 print(imageB64);

但它看起来像是一个错误的 base64 字符串,我无法在转换网站上解码为图像: https://codebeautify.org/base64-to-image-converter

iVBORw0KGgoAAAANSUhEUgAAAhwAAALECAYAAABDk+k+AAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAACAASURBVHic7d1ngFx1ucDhd9N77z0hbdMhCSAJVZoURS4C0psColcxFBXFKypKUywUQYp0EdtVQHpHTQLpZZOQnpDee9v7QeUSksxsyP7Ptuf5tnPeybwfCPvLmTNnIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgNJRUFYvXFxcXFxWrw0AVVVBQUGZ/O6vVhYvCgBULYIDAEhOcAAAyQkOACA5wQEAJCc4AIDkBAcAkJzgAACSExwAQHKCAwBITnAAAMkJDgAgOcEBACQnOACA5AQHAJCc4AAAkhMcAEByggMASE5wAADJCQ4AIDnBAQAkJzgAgOQEBwCQnOAAAJITHABAcoIDAEhOcAAAyQkOACA5wQEAJCc4AIDkBAcAkJzgAACSExwAQHKCAwBITnAAAMkJDgAgOcEBACQnOACA5AQHAJCc4AAAkhMcAEByggMASE5wAADJCQ4AIDnBAQAkJzgAgOQEBwCQnOAAAJITHABAcoIDAEhOcAAAyQkOACA5wQEAJCc4AIDkBAcAkJzgAACSExwAQHKCAwBITnAAAMkJDgAgOcEBACQnOACA5AQHAJCc4AAAkhMcAEByggMASE5wAADJCQ4AIDnBAQAkJzgAgOQEBwCQnOAAAJITHABAcoIDAEhOcAAAyQkOACA5wQEAJCc4AIDkBAcAkJzgAACSExwAQHKCAwBITnAAAMkJDgAgOcEBACQnOACA5AQHAJCc4AAAkhMcAEByggMASE5wAADJCQ4AIDnBAQAkJzgAgOQEBwCQnOAAAJITHABAcoIDAEhOcAAAyQkOACA5wQEAJCc4AIDkBAcAkJzgAACSExwAQHKCAwBITnAAAMkJDgAgOcEBACQnOACA5AQHAJCc4AAAkhM

dart base64 格式是否与其他格式不同? 谢谢。

【问题讨论】:

    标签: file flutter dart base64


    【解决方案1】:

    您必须将字节转换为 Uint8List 对象而不是 List&lt;int&gt;

    File _img = File(
       '/data/user/0/com.example.test3/app_flutter/2020-10-29T17:18:56.210347.png');
    final bytes = Uint8List.fromList(_img.readAsBytesSync());
    final imgBase64 = base64Encode(bytes);
    print(imgBase64);
    

    【讨论】:

      【解决方案2】:

      我发现这种情况下,'print' 函数无法完全显示 base64 代码。 如果要验证,需要导出到文本文件:

       _write(String text) async {
          final File file = File('/storage/emulated/0/xxx/my_file.txt');
          await file.writeAsString(text);
          print(file);
        }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-17
        • 1970-01-01
        • 2021-12-15
        • 1970-01-01
        • 2014-09-14
        • 2013-02-15
        相关资源
        最近更新 更多