关于 转换图片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 }); }