The base64 bit address can also be directly placed in the src echo of img
1. Call the view interface in the created life cycle, and after getting the base64 bit, get the file object first
created() {
console.log(this.rowData);
apivideoSearchimg({
id: this.rowData.id }).then((res) => {
console.log("回显idD", res);
const img = "data:image/png;base64," + res.data[0].imgBase64;
console.log("img", img);
this.file = this.base64ImgtoFile(img); // 得到File对象
console.log("thisfile", this.file);
console.log(
"图片地址",
window.webkitURL.createObjectURL(this.file) ||
window.URL.createObjectURL(this.file)
);
this.imgUrl =
window.webkitURL.createObjectURL(this.file) ||
window.URL.createObjectURL(this.file);
this.imgList.push(this.imgUrl);
});
},
2. get url
base64ImgtoFile(dataurl, filename = "file") {
const arr = dataurl.split(",");
const mime = arr[0].match(/:(.*?);/)[1];
const suffix = mime.split("/")[1];
const bstr = atob(arr[1]);
let n = bstr.length;
const u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], `${
filename}.${
suffix}`, {
type: mime,
});
},
Original link: https://www.jianshu.com/p/a66bdbef93f9
I'm Tudou, see you next time!