<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 转换成功的前提条件是,该图片的url允许跨域访问,
// 也就是后端需要设置 Access-Control-Allow-Origin: *
var imageSrc = 'https://cn.vuejs.org/images/logo.png' // 图片的URL
var image = new Image();
image.src = imageSrc;
// 如果图片是跨域的,填上"*"或者"anonymous"
// 核心是请求头中包含了 Origin: "anonymous"或"*" 字段,
// 响应头中就会附加上 Access-Control-Allow-Origin: * 字段,
image.crossOrigin = "anonymous";
image.onload = function () {
var ext = imageSrc.substring(imageSrc.lastIndexOf(".") + 1);
var imgBase64 = getBase64Image(image, ext);
console.log('imgBase64', imgBase64); //打印转换后的结果
}
function getBase64Image(image, ext) {
var canvas = document.createElement("canvas");
canvas.width = image.width;
canvas.height = image.height;
var context = canvas.getContext("2d");
context.drawImage(image, 0, 0, image.width, image.height);
// 这里是不支持跨域的
var base64 = canvas.toDataURL("image/" + ext);
return base64;
}
</script>
</body>
</html>
js 将图片转为base64格式
最新推荐文章于 2024-04-19 10:47:20 发布