如何在Dart中正确下载图片并转换为base64?

2023-11-30

我很难下载图片然后将其显示在页面上。打印的 Base64 编码字符串看起来错误;它与例如不同http://www.freeformatter.com/base64-encoder.html结果。

这是我的代码:

HttpRequest.request(_url).then((HttpRequest response) {
    String contentType = response.getResponseHeader('Content-Type');

    if (_supportedContentType(contentType)) {
        List bytes = new Utf8Encoder().convert(response.responseText);
        String header = 'data:$contentType;base64,';
        String base64 = CryptoUtils.bytesToBase64(bytes);
        String image = "${header}${base64}";

        me.avatar = image;
        print(image);
    }
}

当您设置responseType时,您会得到二进制数据

import 'dart:html' show HttpRequest;
import 'dart:convert' show base64;
import 'dart:typed_data' show Uint8List, ByteBuffer;

main() {
  HttpRequest
      .request("Zacharie_Noterman_-_Monkey_business.jpg",
          responseType: "arraybuffer")
      .then((HttpRequest response) {
    String contentType = response.getResponseHeader('Content-Type');

    var list = new Uint8List.view((response.response as ByteBuffer));

    String header = 'data:$contentType;base64,';
    String base64 = base64.encode(list);
    String image = "${header}${base64}";

    //  me.avatar = image;
    print(image);
    //}
  });
}

result:

数据:图像/png;base64,/9j/4AAQSkZJRgABAQEAYABgAAD ....

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

如何在Dart中正确下载图片并转换为base64? 的相关文章

随机推荐

  • PyCharm 奇怪的类型警告[重复]

    这个问题在这里已经有答案了 为什么下面的代码会这样 v None for in range 3 v 1 0 lt lt lt 告诉我这个 意外类型 整数 整数 可能的类型 整数 无 切片 可迭代 无 消除此类警告的一个简单解决方法是添加类型
  • 在 MATLAB 中使用 sendmail 指定抄送地址

    MATLAB 的典型使用 调用sendmail函数看起来像这样 content body text attachments attachment pdf set preferences setpref Internet SMTP Serve
  • 如何检索实际的 OleDb 表架构(不包括其他表列)

    当我运行此代码时 它还会检索表中不存在的一些其他字段 我怎样才能克服这个问题 Dim conn As New OleDb OleDbConnection Create a connection string for an Access da
  • 从 C 到 Objective-C 的回调方法

    我有一个 Objective C 课程 我正在做的是在 Objective C 类中调用 C 函数 这个 C 函数是我在一个文件中实现的 该文件是这个示例 ios 项目的一部分 所有 C 函数都工作正常 到目前为止没有任何问题 当我尝试调用
  • 通过 PHP 使用 maxlength 标签检查表单输入长度

    我的问题很简单 如果我在 HTML 表单中有一些带有 maxlength 标记的输入字段 我也必须通过 PHP 检查输入长度吗 您应该这样做 因为任何人都可以 复制 您的表格并使用它 服务器端检查比客户端更好 它是安全的 例如 您的表格
  • 如何让动画和手势识别器协同工作? (迅速)

    我做了一个简单的项目 带有滑动手势识别器和动画 我让标签移动并且每 3 秒增加一次数字 每次滑动我都需要减少数量 我的手势识别器对象与标签绑定在一起 即它仅在标签范围内工作 当 prog 在没有动画的情况下工作时 一切正常 但是当它有动画时
  • 这个函数签名在sml中是什么意思?

    我正在查看我的教授关于 SML 语言的一些注释 其中一个函数如下所示 fun max gt let fun lp curr curr lp curr a l if gt a curr then lp a l else lp curr l i
  • 返回并使用带有匹配的泛型类型

    我正在开发一个简单的 Rust 应用程序 它接受标准输入并根据它进行操作 我想让每个命令返回一个结果向量 不同的命令可能返回不同类型的向量 这list方法返回一个向量PathBufs 但默认匹配臂返回字符串 use std io fs us
  • 无法在 Apache Tomcat 上运行 JAX-WS Java Web 服务

    Summary 我的任务是编写一个 Java Web 服务来集成企业环境中的两个不同的系统 由于我实际上是一名经验丰富的 C NET MVC 开发人员 并且只认为自己在 Java 方面处于中级水平 因此我首先搜索 Java Web Serv
  • DllImport 非托管、非 .NET Dll 到表示 Char * 和 Void __StdCall 的 .NET 项目

    我有一个用 Borland C 编写的非 net 和非托管 DLL 需要导入 它返回 void 并在函数上具有标识符 stdcall 它还需要传递 char 当我尝试将其添加为 VS 2005 中项目的引用时 它返回无效程序集的错误 我怎样
  • JTabbedPane 中的选项卡不反映按下按钮时的更改

    在我的 GUI 的选项卡中 用户可以编辑员工的姓名 该名称还用作选项卡的标签 因此当确认更改时 应更新选项卡以反映此更改 并将新数据写入数据文件 员工被存储在HashMap在课堂里Employees 这些选项卡是通过迭代来填充的ArrayL
  • 简单 lambda 表达式代码上的“AssignmentOperator Expression”错误

    我现在正在学习如何使用 lambda 表达式 并且我已经看过一些带有简单示例的教程 int x gt x 5 但我的编译器显示此错误 Syntax error insert AssignmentOperator Expression to
  • 任务执行失败:app:processDebugManifest Android Studio 2.3.3

    添加后出现编译错误CardView and 回收视图依赖关系 我检查了每一篇文章 但似乎没有人解决这个问题 Error 错误 任务 app processDebugManifest 执行失败 清单合并失败 属性元数据 android sup
  • 如何将值从主窗体返回到不同的窗体或类(C#)

    由于某些未知的原因 这个愚蠢的事情无法实施 我有一个int count在我想返回到另一个类或表单的主表单中 namespace my speller public partial class login Form public login
  • 如何在 EF 代码优先中禁用链接表的级联删除?

    我想禁用实体框架代码优先的链接表的级联删除 例如 如果许多用户拥有许多角色 并且我尝试删除一个角色 我希望阻止该删除unless当前没有与该角色关联的用户 我已经删除了我的级联删除约定OnModelCreating protected ov
  • CSS 边框渲染

    我想知道是否可以指定边框绘制风格 not border style 与CSS 我需要它至少适用于webkit 嗯 我有一个像这样的元素div border它有四边边框5px silver solid 但取决于班级的增加 比如div bord
  • 在 std::vector 中模板化存储多种不同类型

    谢谢大家抽出宝贵的时间 我真的很感激 需要使用模板化方式在 std vector 中存储不同类型的多个变量 要使用以下函数 程序员必须了解变量存储的顺序以及存储的变量数量 class NetVar 创建一个子类来保存实际变量 templat
  • 以具有完全权限的管理员身份运行 Java 文件

    我制作了一个Java应用程序 并在我的电脑和我创造的电脑上测试了它 到目前为止一切顺利 但是这个应用程序是为我的另一个有迪斯科的朋友准备的 当我在他的电脑 Windows Vista 32 位 上 安装 我的应用程序时 它不起作用 然后我去
  • “{”不被识别为内部或外部命令、可运行程序或批处理文件

    在 Windows 上运行 以下 Python 程序会产生上述输出 输出变量的内容 import commands cmd dir output commands getoutput cmd print output 非常有趣和令人沮丧 有
  • 如何在Dart中正确下载图片并转换为base64?

    我很难下载图片然后将其显示在页面上 打印的 Base64 编码字符串看起来错误 它与例如不同http www freeformatter com base64 encoder html结果 这是我的代码 HttpRequest reques