Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JS中对base64中的web url图像进行编码_Javascript_Image_Url_Download_Base64 - Fatal编程技术网

Javascript 在JS中对base64中的web url图像进行编码

Javascript 在JS中对base64中的web url图像进行编码,javascript,image,url,download,base64,Javascript,Image,Url,Download,Base64,我正在尝试将zip文件从html页面加载到pc hdd,但现在失败了,要在那里保存一个图像,它应该在base64中编码。如果它是一个web url图像,如何进行思考 标题 函数getBase64Image(img){ var canvas=document.createElement(“canvas”); canvas.width=img.width; canvas.height=img.height; var ctx=canvas.getContext(“2d”); ctx.drawIma

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


标题
函数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”);
返回dataUrl.replace(/^data:image\/(png | jpg);base64,/,“”)
}
函数func(){
var image=document.querySelector(“#myImage”);
var base64=getBase64Image(image);
警报(base64);
}

我认为可以使用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图像。
希望有帮助。

编码前您可能需要解压缩我没有zip,我将在获取图像的base64编码时创建它。因此,您需要一种方法将图像URL转换为base64,然后进行压缩,然后页面可以下载。是的,我将在zip.file(“hello.png”,base64,{base64:true})之后使用jszip下载它;警报(base64);generateAsync({type:“base64”});