交易场上的朋友胜过柜子里的钱款——托·富勒
blob
转base64
// blob转base64
async function blobToBase64(blob) {
let buffer = await blob.arrayBuffer()
let bytes = new Uint8Array(buffer);
console.log(bytes)
// do anything with the byte array here
let binary = ''
var len = bytes.byteLength;
for (var i = 0; i < len; i ) {
binary = String.fromCharCode(bytes[i]);
}
base64 = 'data:image/webp;base64,' window.btoa(binary)
console.log(base64)
return base64
}
base64
转blob
// base64转blob
function base64ToBlob(code) {
let parts = code.split(';base64,')
let contentType = parts[0].split(':')[1]
let raw = window.atob(parts[1]) // 解码base64得到二进制字符串
let rawLength = raw.length
let uInt8Array = new Uint8Array(rawLength) // 创建8位无符号整数值的类型化数组
for (let i = 0; i < rawLength; i) {
uInt8Array[i] = raw.charCodeAt(i) // 数组接收二进制字符串
}
return new Blob([uInt8Array], { type: contentType })
}
下载blob
:资源路径与blobUrl互转