牛骨文教育服务平台(让学习变的简单)
博文笔记

JavaScript——图片base64编码转化成blob对象

创建时间:2017-03-01 投稿人: 浏览次数:5641
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;
                 
              };

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。