uniapp将请求地址返回的数据变为Blob
时间: 2023-08-05 07:08:51 浏览: 400
在 Uniapp 中,可以使用 XMLHttpRequest 对象来请求数据,然后将返回的数据转换成 Blob 对象。
代码示例如下:
```javascript
// 创建 XMLHttpRequest 对象
const xhr = new XMLHttpRequest();
// 设置请求地址和请求方式
xhr.open('GET', '请求地址');
// 设置响应类型为 Blob
xhr.responseType = 'blob';
// 监听请求完成事件
xhr.onload = function() {
if (xhr.status === 200) {
// 将返回的数据转换成 Blob 对象
const blob = new Blob([xhr.response], { type: '文件类型' });
// 处理 Blob 对象
// ...
}
};
// 发送请求
xhr.send();
```
其中,xhr.responseType 属性设置为 'blob',表示响应的数据类型为 Blob 对象。在请求完成后,通过 new Blob() 方法将返回的数据转换成 Blob 对象,然后可以对 Blob 对象进行处理,例如将其保存到本地等等。
需要注意的是,如果请求的数据类型不是 Blob 或 Arraybuffer,而是 JSON 或文本等其他类型,需要根据实际情况进行转换。
相关问题
uniapp使用new Blob()报错blob未定义
在uniapp中,`Blob`对象是在浏览器环境中提供的,主要用于处理二进制数据。如果你在代码中尝试使用`new Blob()`,而遇到`blob未定义`的错误,这通常意味着当前环境不支持这个功能,或者你忘记引入了相关的API。
uniapp可能有其特定的封装或者对原生浏览器API做了限制,特别是在小程序环境中,部分浏览器特性可能会受限。解决这个问题,你可以按照以下步骤检查:
1. **检查兼容性**:确认uniapp是否支持Blob API,查看官方文档是否有相关说明或者限制条件。
2. **环境判断**:在使用Blob之前,先判断当前运行环境是否为浏览器环境,如果不是,则避免使用Blob。
3. **引入依赖**:如果需要使用,确保你在项目中正确地引入了相关文件或者库,比如在某些框架中可能需要显式地导入某个模块才能访问Blob。
uniapp 上传图片临时文件转成Blob
以下是uniapp上传图片临时文件转成Blob的方法:
```javascript
// 引入toBlob插件
import toBlob from 'toblob'
// 将图片转为base64
let base64 = 'data:image/png;base64,iVBORw0KG...'
// 将base64转为Blob
toBlob.base64ToBlob({b64data: base64, contentType: 'image/png'}).then(res => {
// res即为转换后的Blob对象
console.log(res)
})
```
阅读全文
相关推荐
















