我在qml中 用下面这段代码获取对网页发送get请求返回的二进制文件。let fetch =AJAX.fetch fetch("http://media-jiangxi-uz-yijia.jxoss.xstore.ctyun.cn/LF07/FACECONTROLPACK/3KSCA55502006GY/466e53165477637978737cdfc7c7f2e7?Signature=Sl5R%2BFlOSzYsZm4eVhLhRAoEV%2BU%3D&AWSAccessKeyId=t4tyhIuBkPHxmt5B69oy&Expires=1686196242") .then((res)=>{ let arrayBuffer = res.arrayBuffer(); tryTestImg=arrayBuffer ; 但是返回值被arrayBuffer()变成10进制的了,怎么改代码能让我获取能被图片形式显示的二进制文件
时间: 2024-04-21 18:26:54 浏览: 103
你可以使用Blob对象将获取到的二进制文件转换成URL,然后将这个URL赋值给img元素的src属性来显示图片。下面是一个示例代码:
```javascript
let fetch = AJAX.fetch("http://media-jiangxi-uz-yijia.jxoss.xstore.ctyun.cn/LF07/FACECONTROLPACK/3KSCA55502006GY/466e53165477637978737cdfc7c7f2e7?Signature=Sl5R%2BFlOSzYsZm4eVhLhRAoEV%2BU%3D&AWSAccessKeyId=t4tyhIuBkPHxmt5B69oy&Expires=1686196242")
.then((res) => {
let blob = new Blob([res], { type: 'image/jpeg' }); // 将数据转换成Blob对象
let imgUrl = URL.createObjectURL(blob); // 将Blob对象转换成URL
let img = document.createElement('img'); // 创建img元素
img.src = imgUrl; // 设置img元素的src属性
document.body.appendChild(img); // 将img元素添加到页面中
});
```
这段代码会将获取到的二进制文件转换成一个Blob对象,然后将这个Blob对象转换成URL,并将这个URL赋值给img元素的src属性,最后将img元素添加到页面中以显示图片。注意需要设置正确的图片类型,这里使用的是image/jpeg。
阅读全文