图片url转化为base64位
2022-01-14 本文已影响0人
jesse28
// 从相册选取照片后拼接成绝对路径之后转成base64
operationImg(res) {
console.log("res1", res);
let fileId = res.resMap.fileIdList;
let url = `${imgUrl}${fileId}`;
//获取base64
let image = new Image();
image.src = url;
image.setAttribute("crossOrigin", "Anonymous");
image.onload = () => {
let base64 = this.getBase64Image(image);
let base64switch = base64.split(",")[1];
// console.log("base64", base64.split(",")[1]);
// 1.调用查看人脸识别接口
// ********************************************
apisearchFace({ imgData: base64switch }).then((res) => {
console.log("调用人脸识别接口", res);
if (res && res.code == 200) {
this.$emit('sendFaceData',{
isExist:true,
imgData:base64switch
})
// 2.然后把得到的数据存到vuex
let FacetempData = JSON.parse(res.data)
console.log('存放vuex的值转成object',FacetempData)
this.$store.dispatch("setEasyCaseFace", FacetempData);
}else{
this.$emit('sendFaceData',{
isExist:false,
imgData:base64switch
})
this.$store.dispatch("setEasyCaseFace", {});
}
});
// ********************************************
};
},
//网络url幢base64
getBase64Image(img) {
let canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
let ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0, img.width, img.height);
let ext = img.src.substring(img.src.lastIndexOf(".") + 1).toLowerCase();
let dataURL = canvas.toDataURL("image/" + ext);
return dataURL;
},