JavaScript——图片base64编码转化成blob对象
function convertImgDataToBlob(base64Data) {
var format = "image/jpeg";
var base64 = base64Data;
var code = window.atob(base64.split(",")[1]);
var aBuffer = new window.ArrayBuffer(code.length);
var uBuffer = new window.Uint8Array(aBuffer);
for(var i = 0; i < code.length; i++){
uBuffer[i] = code.charCodeAt(i) & 0xff ;
}
console.info([aBuffer]);
console.info(uBuffer);
console.info(uBuffer.buffer);
console.info(uBuffer.buffer==aBuffer); //true
var blob=null;
try{
blob = new Blob([uBuffer], {type : format});
}
catch(e){
window.BlobBuilder = window.BlobBuilder ||
window.WebKitBlobBuilder ||
window.MozBlobBuilder ||
window.MSBlobBuilder;
if(e.name == "TypeError" && window.BlobBuilder){
var bb = new window.BlobBuilder();
bb.append(uBuffer.buffer);
blob = bb.getBlob("image/jpeg");
}
else if(e.name == "InvalidStateError"){
blob = new Blob([aBuffer], {type : format});
}
else{
}
}
alert(blob.size);
return blob;
};声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
