uniapp base64转文件
时间: 2023-08-02 17:08:44 浏览: 158
uni-app 调用百度OCR文字识别 并 实现base64转码 (完美解决)
5星 · 资源好评率100%
在 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 对象。
阅读全文