在JS

时间:2018-09-07 18:30:43

标签: javascript image url download base64

我正在尝试将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>

1 个答案:

答案 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图像。 希望对您有所帮助。