arrayBuffer转换成base64 uniapp
时间: 2023-08-11 19:05:18 浏览: 142
在uniapp中,可以使用uni.arrayBufferToBase64方法将arrayBuffer转换为base64。在给定的代码示例中,tempToBase64函数使用了uni.arrayBufferToBase64方法将arrayBuffer转换为base64,并将其与图片类型拼接在一起。这样就可以得到一个完整的base64字符串。\[2\]
#### 引用[.reference_title]
- *1* *2* *3* [uniapp图片转base64及JS各文件类型相互转换](https://blog.csdn.net/qq_39410252/article/details/130249332)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关问题
uniapp怎么把后端传输回来的图片转换成base64
在uniapp中,可以使用uni.request或uni.downloadFile请求后端获取图片数据,然后通过uni.arrayBufferToBase64将ArrayBuffer类型的数据转换成base64编码的字符串。
以下是一个示例代码:
```javascript
uni.downloadFile({
url: 'http://example.com/image.jpg',
success: function (res) {
// 将ArrayBuffer类型的数据转换成base64编码的字符串
uni.arrayBufferToBase64(res.tempFilePath, function(base64Data) {
console.log('base64Data:', base64Data);
});
}
});
```
如果需要将图片展示在前端页面中,可以使用data URI scheme将base64编码的字符串转换成图片展示,例如:
```html
<template>
<img :src="imageUrl" />
</template>
<script>
export default {
data() {
return {
imageUrl: '',
}
},
methods: {
loadImage() {
uni.downloadFile({
url: 'http://example.com/image.jpg',
success: (res) => {
uni.arrayBufferToBase64(res.tempFilePath, (base64Data) => {
this.imageUrl = 'data:image/jpeg;base64,' + base64Data;
});
},
});
},
},
mounted() {
this.loadImage();
},
};
</script>
```
uniapp base64转文件
在 Uniapp 中,可以使用以下代码将 base64 字符串转换为文件:
```javascript
// 将 base64 字符串转换为 ArrayBuffer
const base64ToArrayBuffer = (base64) => {
const binary = atob(base64)
const length = binary.length
const buffer = new ArrayBuffer(length)
const view = new Uint8Array(buffer)
for (let i = 0; i < length; i++) {
view[i] = binary.charCodeAt(i)
}
return buffer
}
// 将 ArrayBuffer 转换为文件并保存到本地
const saveBase64AsFile = (base64, filename) => {
const arrayBuffer = base64ToArrayBuffer(base64)
const blob = new Blob([arrayBuffer], { type: 'application/octet-stream' })
const url = URL.createObjectURL(blob)
const link = document.createElement('a')
link.href = url
link.download = filename
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
URL.revokeObjectURL(url)
}
// 调用示例
const base64Str = 'your base64 string'
const filename = 'your filename'
saveBase64AsFile(base64Str, filename)
```
其中,`saveBase64AsFile` 函数中的 `link.download` 属性指定文件名称,`link.click()` 方法触发下载操作,`URL.revokeObjectURL(url)` 方法释放 URL 对象。