关于 转换图片url为base64格式以及base64格式图片地址转为图片文件

关于 转换图片url为base64格式以及base64格式图片地址转为图片file文件

图片url为base64格式 代码如下:

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 dataURL = canvas.toDataURL("image/png");  // 可选其他值 image/jpeg
    return dataURL;
}

function startTrans(src, cb) {
    var image = new Image();
    image.src = src + '?v=' + Math.random(); // 处理缓存
    image.crossOrigin = "*";  // 支持跨域图片
    image.onload = function(){
        var base64 = getBase64Image(image);
        cb && cb(base64);
    }
}

startTrans('http://wwww.test/test.png', function(base64){
    console.log(base64);
});

base64格式图片地址转为图片file文件 代码如下:

function base64TransFile(base64Url,fileName){ 
    ////将图片Base64 转成文件
    var arr = base64Url.split(','),
        mime = arr[0].match(/:(.*?);/)[1],
        str = atob(arr[1]),
        n = str.length,
        u8arr = new Uint8Array(n);
    while (n--) {
      u8arr[n] = str.charCodeAt(n);
    }
    return new File([u8arr], fileName, { type: mime });
  }
posted @ 2019-11-26 14:31  努力努力要努力  阅读(6036)  评论(0编辑  收藏  举报