1.前提概要
向后端发送请求获取图片,得到的响应数据是一堆火星文,如下,找度娘了解一番,这是一堆二进制乱码,主要问题是由于uni.request发请求时,设置的responseType不对或者根本就没设置
2.思路讲解2.1 在uni.request请求中,配置responseType为"arraybuffer";
用到什么便学什么,所以了解一下responseType:responseType属性它主要是用来设置响应数据的类型,默认为“text”类型
responseType属性值有(写几个常见一点的):""(空字符串),arraybuffer(是一个包含二进制数据的js ArrayBuffer),blob(一个包含二进制数据的Blob对象),json,text
2.2 设置requestType为"arraybuffer"后,你会发现得到的响应数据是,arraybuffer类型的实例,如下:
2.3 使用uni.arrayBufferToBase64()方法将响应数据转换为base64格式的数据
2.4 再在上述2.3上得到的base64格式的数据