当前位置: 首页 > news >正文

【前端基础】uniapp、axios 获取二进制图片

responseType: "arraybuffer

在网络请求中,responseType: "arraybuffer" 是指定服务器响应的数据类型为二进制数据缓冲区(ArrayBuffer)。这是XMLHttpRequest(XHR)和Fetch API等客户端JavaScript API中的一个选项。

当你设置responseType: "arraybuffer"时,你告诉浏览器在接收到服务器响应后,将数据以二进制数组的形式存储在一个ArrayBuffer对象中。这对于处理诸如图像、音频、视频等二进制数据非常有用。

使用这个选项可以更有效地处理二进制数据,而不必将其转换为文本或其他格式。这在一些应用中很重要,例如下载图像、音频或视频文件,或者进行与图像处理相关的操作。

axios 中获取二进制图片

以下是在axios中的简单示例,演示如何设置responseType: "arraybuffer"

假设二进制数据存在 res.data

// 将二进制数据转换为 Base64
bufferToBase64 (buffer) {
  const binary = new Uint8Array(buffer);
  const base64 = btoa(String.fromCharCode.apply(null, binary));
  return 'data:image/jpeg;base64,' + base64;
},
// 获取二进制图片
async getCode () {
  this.axios({
	  method: "post",
	  url: "https://example.com/some-binary-data",
	  responseType: 'arraybuffer', //添加这句至关重要!
	  headers: {
	    "content-type": "application/json",
	  },
	}).then((res) => {
	  console.log('res', res)
	  if (res.data) {
	    this.codeImgSrc = this.bufferToBase64(res.data)
	  } else {
	    this.$toast.fail("获取图片失败,请重试");
	  }
	})
},

uniapp中获取二进制图片

await uni.request({
	url: "https://example.com/some-binary-data",
	method: "post",
	header: {
		"Content-Type": "application/x-www-form-urlencoded",
	},
	responseType: "arraybuffer", // 添加这句至关重要
	success: (res) => {
		if (res.data) {
			this.codeImgSrc = "data:image/png;base64," + uni.arrayBufferToBase64(res.data);
		} else {
			uni.$u.toast("获取验证码失败,请重试");
		}
	},
});

相关文章:

  • k8s学习 — 各知识点快捷入口
  • 堆与二叉树(下)
  • YOLOv8改进 | 主干篇 | 利用SENetV2改进网络结构 (全网首发改进)
  • ModuleNotFoundError: No module named ‘tensorflow‘
  • electron GPU process isn‘t usable. Goodbye
  • jvm对象探究
  • 【YOLOV8预测篇】使用Ultralytics YOLO进行检测、分割、姿态估计和分类实践
  • Android画布Canvas裁剪clipRect,Kotlin
  • 华为云Stack 8.X 流量模型分析(二)
  • 听GPT 讲Rust源代码--src/tools(22)
  • 自动生成数控加工的轨迹刀具轨迹阿基米德螺旋线(3D)
  • Codeforces Round 916 (Div. 3)(E:贪心 F贪心dfs G tarjan+topsort +线段树优化建图)
  • 实现 Trie (前缀树)
  • Go自定义PriorityQueue优先队列使用Heap堆
  • 微信小程序生成一个天气查询的小程序
  • 用23种设计模式打造一个cocos creator的游戏框架----(二十二)原型模式
  • 音视频的编码格式与封装格式
  • mysql 数据编译安装以及参数说明 安装包下载
  • OpenCV利用HSV颜色区间分离不同物体
  • linux开发板树莓派下载vnc远程桌面
  • 多人称华为手机忽现拍照模糊疑存缺陷,售后回应:主摄像头故障
  • 习近平出席俄罗斯总统举行的欢迎仪式
  • 上海充电桩调研:须全盘考量、分步实现车网互动规模化
  • 男子煎服15克山豆根中毒送医,医生:不能盲目相信偏方
  • 解读|降准叠加政策利率、公积金贷款利率、结构性政策工具利率全线下调,影响有多大?
  • 抗战回望20︱《山西省战区抗敌行政工作检讨会议议决案》:“强民政治”、“说服行政”