如何在flutter中将图像转换为base64图像?

2023-12-08

我实际上正在尝试转换由ImagePicker扑向base64图像。我总是收到错误。

FileSystemException: Cannot open file, path = 
'file:///storage/emulated/0/Download/Abid_Wipro_neemuchwala1- 
770x433.jpg' (OS Error: No such file or directory, errno = 2)
E/flutter ( 5042): #0      _File.throwIfError 
(dart:io/file_impl.dart:628)
E/flutter ( 5042): #1      _File.openSync 
(dart:io/file_impl.dart:472)
E/flutter ( 5042): #2      _File.readAsBytesSync 
(dart:io/file_impl.dart:532)

我正在使用的代码是这个。

     File fileData;
   /////////////...........


      new Container(
            child: new FutureBuilder<File>(
              future: imageFile,
              builder: (BuildContext context, AsyncSnapshot<File> snapshot) {
                if (snapshot.connectionState == ConnectionState.done &&
                    snapshot.data != null) {
                  fileData = snapshot.data;


                  return new Container(
                    height: MediaQuery.of(context).size.height / 2,
                    width: MediaQuery.of(context).size.width,
                    margin: const EdgeInsets.all(4.0),
                    decoration: new BoxDecoration(
                      image: new DecorationImage(
                        image: new FileImage(snapshot.data,),
                        fit: BoxFit.cover
                      ),
                    ),
                  );
                } else if (snapshot.error != null) {
                  return new Column(children: <Widget>[
                    centerWidget('Choose Image or Audio or Video'),
                    _circleAvatar()
                  ]);
                } else {
                  return new Column(children: <Widget>[
                    centerWidget('Choose Image or Audio or Video'),
                    _circleAvatar()
                  ]);
                }
              },
            ),
          ),
/////////////////

    File imageFile = new File(widget.fileData.uri.toString());
    List<int> imageBytes = imageFile.readAsBytesSync();
    String base64Image = base64Encode(imageBytes);

请有人告诉我我在哪里犯了错误。

非常感谢, 马希


我刚刚更改了我的代码如下,

import 'dart:convert';

List<int> imageBytes = widget.fileData.readAsBytesSync();
print(imageBytes);
String base64Image = base64Encode(imageBytes);

现在效果很好。

最好异步读取,因为图像可能很大,这可能会导致主线程阻塞

 List<int> imageBytes = await widget.fileData.readAsBytes();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在flutter中将图像转换为base64图像? 的相关文章

随机推荐

  • 收到通知后重新启动应用程序

    我开发了一个具有从服务器接收通知功能的应用程序 问题是 当我点击收到的通知时 打开我的应用程序本身的新实例 这个行为没问题 如果我的应用程序不在前台 但如果是 并且我尝试打开通知 则会创建应用程序的新实例 从而与之前打开的应用程序实例重叠
  • 页面抛出 JavaScript 运行时错误:“函数名称”未定义。仅限IE10

    在使用 IE10 时 我发现从后面的代码注册或调用的 JavaScript 函数会抛出异常 JavaScript 运行时错误 函数名称 未定义 例如 IsPostBack 块中的代码 Page RegisterStartupScript s
  • 从 Facebook 页面获取事件

    所以我需要获取 Facebook 页面的事件 如果可能的话 采用 JSON 格式 我正在使用 iOS 我知道如何在获取数据后实现它 但我只是不知道如何从 facebook 获取实际数据 我已经尝试过图形 API 但它需要访问令牌才能执行我想
  • 如何可靠地保护公共 JSONP 请求?

    我正在尝试寻找是否有一种好方法可以防止嵌入在客户网站上的 javascript 小部件上发生 CSRF 该小部件将使最终用户能够通过 JSONP 向 PHP 服务器发出针对我们客户帐户的请求 该服务器将这些请求代理到我们的 非公开 API
  • 字段集之间的验证

    我正在使用带有低音验证的 formtowizard jquery 插件 我已将下一个按钮附加到一个单击事件 该事件验证我的表单 但我只希望它验证当前字段集而不是整个表单 我的表格是这样设置的
  • Java:为什么我们需要转换浮点数而不是双精度数?

    我不知道你是否认为这是一个重要的问题 但我想知道 float 是浮点数 4 个字节 double 是浮点数 8 个字节 为什么我们定义 double 而不进行强制转换 double d 2 1 但我们需要用浮动来投射 float f flo
  • 如何将 Keras ImageDataGenerator 转换为 Numpy 数组?

    我正在研究 CNN 模型 我很好奇如何将 datagen flow from directory 给出的输出转换为凹凸数组 datagen flow from directory 的格式是目录迭代器 除了 ImageDataGenerato
  • 如何从 Lambda 表达式获取值?

    我正在 python 中试验 z3 我有以下模型 set option produce models true set logic QF AUFBV declare fun a Array BitVec 32 BitVec 8 declar
  • 将标记放置在具有特定距离的折线上

    我使用谷歌地图 api v3 制作了谷歌地图 并在地图上放置了一条折线 这是我的地图代码 function initialize var myLatLng new google maps LatLng 31 77577 72 26588 v
  • 如何在Android studio中打开GitHub上的项目? Maven 和 android 支持库存在问题。

    我开始使用 Android Studio 我想从 GitHub 打开项目https github com TonicArtos StickyGridHeaders 在第一个屏幕上 我单击 从版本控制中签出 GitHub 选择磁盘上的位置 克
  • 如果使用了 waitFor,为什么杀死 JVM 也会终止其子进程?

    If waitFor不使用时 杀死JVM对其子进程没有影响 这是一个例子 重击脚本 usr bin env bash echo Sleeping gt log sleep 30 echo Wake up gt gt log Java代码 p
  • Scenekit 检测用户点击的对象

    我最近开始在 iOS 8 中使用 scenekit 作为 scenekit 我在检测用户是否点击或按下了对象时遇到了困难 有什么办法可以做到这一点吗 请参阅文档hitTest方法 从您处理触摸事件的任何地方调用它 以获取 2D 屏幕点 下方
  • Aurelia 选择不起作用

    我有以下问题 我试图通过读取 json 文件来填充一个简单的选择 然后将任何对象的标题显示为选择内的选项 当我尝试在 div 元素内显示标题时 代码工作得很好 但不能作为选择 这是我的代码 import inject from aureli
  • 如果我有 t 统计量和 d.f,如何计算 p 值(在 Perl 中)?

    我编写了一个 Perl 脚本来执行许多单样本 t 检验 我获得了数千个 t 统计量及其自由度 df 我需要升级脚本以返回它们的 p 值 p 值太多 无法在表中手动查找 是否可以使用某种公式以 t 统计量和 d f 作为输入 我希望有人可以帮
  • 增加 WCF 服务中的超时值

    如何将 WCF 服务的默认超时设置为大于 1 分钟 你指的是服务器端还是客户端 对于客户 您需要调整发送超时绑定元素的属性 对于服务 您需要调整接收超时绑定元素的属性
  • 如何将 python 子进程 stderr 和 stdout 重定向到多个文件? [复制]

    这个问题在这里已经有答案了 我只想将 stderr 和 stdout 重定向到多个文件 例如 stderr 应重定向到 file 1 和 file 2 我使用下面的方法将输出重定向到单个文件 subprocess Popen my comm
  • Yeoman 出现“无法启动 Chrome”错误

    我正在尝试开始使用 Yeoman 看起来确实很棒 但尝试运行时出现错误grunt test命令 Running karma unit karma task INFO karma Karma server started at http lo
  • Android:如果屏幕锁定或在后台,C++ 线程不会唤醒。使用应用程序时工作正常

    在我们的 Android 应用程序中 我们有 UI 组件和核心 C 11 模块 线程的运行基于std chrono system clock time point 如下所示 while this gt m ConditionVariable
  • 在 C 中分配二维数组

    我想在运行时在 C 中分配一个二维数组 现在这可以通过传统的方式来实现 如下所示 int matrix rows for row 0 row lt rows row matrix row int malloc ncol sizeof int
  • 如何在flutter中将图像转换为base64图像?

    我实际上正在尝试转换由ImagePicker扑向base64图像 我总是收到错误 FileSystemException Cannot open file path file storage emulated 0 Download Abid