在JS中的base64中编码web url图像

问题描述 投票:0回答:1

我试图将zip文件从html页面加载到pc硬盘但是现在失败了,为了保存图像,它应该在base64中编码,如果它是一个web url图像,它是如何进行思考的。

<!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>
javascript image url download base64
1个回答
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图像。希望能帮助到你。

© www.soinside.com 2019 - 2024. All rights reserved.