window把图片转成blob_将图片转成Base64,再将Base64转成Blob

var img = "./bigImg.jpg";//imgurl 就是你的图片路径

function getBase64Image(img) {

var canvas = document.createElement("canvas");

canvas.width = img.width;

canvas.height = img.height;

var ctx = canvas.getContext("2d");

ctx.drawImage(img, 0, 0, img.width, img.height);

var ext = img.src.substring(img.src.lastIndexOf(".")+1).toLowerCase();

var dataURL = canvas.toDataURL("image/"+ext);

return dataURL;

}

var image = new Image();

image.src = img;

image.onload = function(){

var base64 = getBase64Image(image);

var type = "image/jpg";

console.log(base64);

var conversions = base64ToBlob(base64, type);

console.log(conversions)

window.URL = window.URL || window.webkitURL;

var url = window.URL.createObjectURL(conversions);

console.log(url,'url')

document.getElementById('img').src = url

}

function base64ToBlob(urlData, type) {

var arr = urlData.split(',');

var mime = arr[0].match(/:(.*?);/)[1] || type;

// 去掉url的头,并转化为byte

var bytes = window.atob(arr[1]);

// 处理异常,将ascii码小于0的转换为大于0

var ab = new ArrayBuffer(bytes.length);

// 生成视图(直接针对内存):8位无符号整数,长度1个字节

var ia = new Uint8Array(ab);

for (var i = 0; i < bytes.length; i++) {

ia[i] = bytes.charCodeAt(i);

}

return new Blob([ab], {

type: mime

});

}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部