// 通过attach的id属性读取图片,api接口返回图片的二进制数据

getImage(MyAttach attach) async {

Dio dio = Dio();

SharedPreferences sp = await SharedPreferences.getInstance();

dio.options.baseUrl = ServerUrl.base;

dio.options.responseType = ResponseType.STREAM;

Map headers = Map();

headers["Authorization"] = sp.getString("token");

dio.options.headers = headers;

try {

String url =

"${ServerUrl.company}/${sp.getString("company_id")}/profile/${attach.id}?type=attach";

print("url:$url");

Response response = await dio.get(url);

HttpClientResponse resp = response.data;

final Uint8List bytes = await consolidateHttpClientResponseBytes(resp);

print("服务器返回:${bytes.length}");

attach.img = Image.memory(bytes);

data.add(attach);

setState(() {});

} catch (e) {

print("网络错误:" + e.toString());

}

}

Future consolidateHttpClientResponseBytes(

HttpClientResponse response) {

// response.contentLength is not trustworthy when GZIP is involved

// or other cases where an intermediate transformer has been applied

// to the stream.

final Completer completer = Completer.sync();

final List> chunks = >[];

int contentLength = 0;

response.listen((List chunk) {

chunks.add(chunk);

contentLength += chunk.length;

}, onDone: () {

final Uint8List bytes = Uint8List(contentLength);

int offset = 0;

for (List chunk in chunks) {

bytes.setRange(offset, offset + chunk.length, chunk);

offset += chunk.length;

}

completer.complete(bytes);

}, onError: completer.completeError, cancelOnError: true);

return completer.future;

}

php dio获取串口数据,flutter通过dio读取二进制数据,比如通过api接口读取图片相关推荐

  1. matlab 十六进制数组,【MATLAB】MATLAB中读取二进制数据文件并加入到矩阵中

    MATLAB中读取二进制数据文件并加入到矩阵中的应用如下: 如果对c语言十分熟悉的话,应该对fopen,fclose,ftell,fseek,fread,fwrite,feof 这些函数非常熟悉了,在 ...

  2. python 读取二进制数据到可变缓冲区中

    想直接读取二进制数据到一个可变缓冲区中,而不需要做任何的中间复制操作.或者你想原地修改数据并将它写回到一个文件中去. 为了读取数据到一个可变数组中,使用文件对象的readinto() 方法.比如 im ...

  3. SQLite数据库如何存储和读取二进制数据

    1.       存储二进制数据 SQLite提供的绑定二进制参数接口函数为: int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n ...

  4. 前端读取文件图片信息流;js读取图片不同信息流;js读取图片;前端就js读取二进制数据;前端js读取文件流使用FileReader对象的readAsDataURL方法来读取图像文件;

    原文链接 FileReader来把文件读入内存,并且读取文件中的数据. readAsDataURL方法可以在浏览器主线程中异步访问文件系统,读取文件中的数据,且读取后 result 为 DataURL ...

  5. 《Python Cookbook 3rd》笔记(5.9):读取二进制数据到可变缓冲区中

    读取二进制数据到可变缓冲区中 问题 你想直接读取二进制数据到一个可变缓冲区中,而不需要做任何的中间复制操作.或者你想原地修改数据并将它写回到一个文件中去. 解法 为了读取数据到一个可变数组中,使用文件 ...

  6. Matlab读取二进制数据文件

    第一步:函数fopen打开文件 fid=fopen('文件名',读取方式) fid:句柄值 小于0表示打开失败:大于0表示打开成功 文件名:字符串,使用单引号(本文例子'savedata.dat') ...

  7. 在 Web 数据控件中显示二进制数据54

    简介 前面的教程中 , 我们介绍了将二进制数据与应用程序的基础数据模型相关联的两种方法 , 并使用FileUpload 控件从浏览器向 Web 服务器的文件系统上载.我们还将了解怎样将上载的二进制数据 ...

  8. php模拟安卓端捉取数据,ios - PHP如何模拟安卓设备,请求API接口的数据

    抓包获取的安卓设备请求API时候携带了这么一大堆数据,PHP如何模拟这些数据? customerId: 801 clientAgent: M351#1080*1800 versionId: 5.6.2 ...

  9. javascript 类型数组读取二进制数据

    先建一个文件,按UTF-16大端 BOM 格式保存一个字符串:hi aleck, 使用 file API 把他按二进制方式读取到浏览器. 文件读取方法在这里: http://hi.baidu.com/ ...

最新文章

  1. 卷积神经网络基础:(6)卷积神经网络原理
  2. 数字图像处理实验(8):PROJECT 04-04,Highpass Filtering Using a Lowpass Image
  3. linux菜鸟入门-1
  4. leetcode-67-二进制求和
  5. 区块链在供应链领域的应用
  6. mybatis 做 insert操作的时候返回插入的那条数据的id
  7. C# 哈希表(Hashtable)用法笔记
  8. 微型计算机原理及其应用彭楚武答案第三章,微机原理及其应用_第1章.ppt
  9. JAVA 的面向对象设计的特点-书后感-01-21天学通JAVA-深入分析
  10. 运算符重载 返回类型说明符后加_C++日志(三十八)干货!带你搞懂什么是运算符重载!...
  11. 用excel做logistic回归分析_利用Excel进行统计分析——入门篇
  12. 微信小程序---购物车功能(选中与取消选中,全选与取消全选)
  13. 数制转换c语言编程,C语言数据结构中数制转换实例代码
  14. mmsegmentation 训练自制数据集
  15. 软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022年)
  16. 程序读写时间内存 硬盘 cache 访问速度数级对比
  17. 联想ThinkBook 14+和 2022宏碁非凡S3 哪个好
  18. 5G及后5G时代:万物互联到万物智能的黄金时代
  19. 番茄炒鸡蛋里隐藏的九大秘密功效
  20. word无法打开请去应用商店_爱不释手的PPT小工具,请收好

热门文章

  1. Tableview最后一行无法显示或者显示不全的问题IOS
  2. 快速获得数据库连接字符串的小窍门
  3. Silverlight学习之——我的看法
  4. 贪心——买卖股票的最佳时机(Leetcode 122)
  5. 取磁碟名稱 c++_安徽CDCSCONT PLUS/R/C/E生产厂家,联锁板生产厂家
  6. 神奇的编码C语言,神奇的fans (C语言代码)
  7. 百兆以太网口通信速率_以太网 数据包速率计算方法
  8. 备份恢复,DBA最后一道防线,你完全掌握了吗?
  9. 大讲堂专访丨连接Oracle DBA与开发的桥梁:Oracle的redo与undo
  10. 带你读AI论文:SDMG-R结构化提取—无限版式小票场景应用