我正在尝试将html文件中的zip文件加载到pc hdd,但是现在失败了,要在其中保存图像,应该在base64中对其进行编码。如果这是一个Web url图像,怎么可能会想到呢。 / p>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</script>
<img id = "myImage" src="http://files.smashingmagazine.com/wallpapers/feb-18/love-work/cal/feb-18-love-work-cal-320x480.png">
<input type = 'button' onclick="func()" value = "press me">
<script >
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);
var dataUrl = canvas.toDataURL("image/png");
return dataUrl.replace(/^data:image\/(png|jpg);base64,/,"")
}
function func() {
var image = document.querySelector("#myImage");
var base64 = getBase64Image(image);
alert(base64);
}
</script>
</body>
</html>
答案 0 :(得分:0)
我认为您可以使用httprequest对象来加载文件。
var req = new XMLHttpRequest();
req.withCredentials = true;
req.open("GET", sFileUrl, false); // 'false': synchronous.
req.send(null);
//return req.response;
如果需要base64,可以将字节数组转换为base64。
var u8 = new Uint8Array(req.response);
var b64encoded = btoa(String.fromCharCode.apply(null, u8));
return b64encoded;
确保您可以访问URL图像。 希望对您有所帮助。