【前端基础】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("获取验证码失败,请重试");
		}
	},
});

相关推荐

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

    2023-12-25 13:54:03       63 阅读
  2. 前端Ajax请求从后端获取二进制文件并下载

    2023-12-25 13:54:03       44 阅读
  3. [前后基础]图片传输与异步

    2023-12-25 13:54:03       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-25 13:54:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-25 13:54:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-25 13:54:03       82 阅读
  4. Python语言-面向对象

    2023-12-25 13:54:03       91 阅读

热门阅读

  1. 使用Uniapp随手记录知识点

    2023-12-25 13:54:03       57 阅读
  2. DrmOpenWithType

    2023-12-25 13:54:03       51 阅读
  3. go语言基础 -- 字符串及其常用函数

    2023-12-25 13:54:03       59 阅读
  4. 前端学习笔记

    2023-12-25 13:54:03       62 阅读
  5. sklearn网格搜索找寻最优参数

    2023-12-25 13:54:03       65 阅读