将字符串或图片转换成base64格式
1、将图片转化成base64
注:这里的图片为服务端请求的图片(http://…png)
// 定义此方法, 将图片转化成base64
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.setAttribute("crossOrigin", "Anonymous");
image.src = val.data.data.info[0].avatar;
image.onload = function() {
// 这里的base就是转化后的图片(注意this指向)
var base64 = this.getBase64Image(image);
};
2、将字符串转化成base64格式
// 定义方法
encode(str) {
// 对字符串进行编码
var encode = encodeURI(str);
// 对编码的字符串转化base64
var base64 = btoa(encode);
return base64;
}
console.log(this.encode('这是一段字符串'))