分享编程~
 

js base64转blob二进制 blob二进制转base64

javascript 实现base64转blob二进制,blob二进制转base64

天天特卖抢好货

javascript 实现base64转blob二进制,blob二进制转base64,互相转换。

<script type="text/javascript">

/**
 * 方式一、base64转blob二进制
 */
function dataURLtoBlob1(dataurl){
	var arr = dataurl.split(',');
	//注意base64的最后面中括号和引号是不转译的   
	var _arr = arr[1].substring(0,arr[1].length-2);
	var mime = arr[0].match(/:(.*?);/)[1],
	bstr = atob(_arr),
	n = bstr.length,
	u8arr = new Uint8Array(n);
	while (n--) {
		u8arr[n] = bstr.charCodeAt(n);
	}
	return new Blob([u8arr], {
		type: mime
	});
}


/**
 * 方式二、base64转blob二进制
 */
function dataURItoBlob2(dataURI) {
	var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0]; // mime类型
	var byteString = atob(dataURI.split(',')[1]); //base64 解码
	var arrayBuffer = new ArrayBuffer(byteString.length); //创建缓冲数组
	var intArray = new Uint8Array(arrayBuffer); //创建视图

	for (var i = 0; i < byteString.length; i++) {
		intArray[i] = byteString.charCodeAt(i);
	}
	return new Blob([intArray], {type: mimeString});
}

/**
 * 方式三、base64转blob二进制
 */
function dataURLtoBlob3(dataurl) {
	var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
	bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
	while (n--) {
		u8arr[n] = bstr.charCodeAt(n);
	}
	return new Blob([u8arr], { type: mime });
}

/**
 * blob二进制 转 base64 数据
 */
function blobToDataURI(blob, callback) {
	var reader = new FileReader();
	reader.onload = function (e) {
		callback(e.target.result);
	}
	reader.readAsDataURL(blob);
}
</script>


上一篇:js 图片上传通过canvas画图实现图片压缩下一篇:PHP业务流程错误排查代码错误排查生成日志文件示例
赞(3) 踩(0)
您说多少就多少,您的支持是我最大的动力
赏金
微 信
赏金
支付宝
本文连接: https://www.yj521.com/article/38.html
版权声明: 本文为原创文章,版权归《越加网》所有,分享转载请注明出处!