Javascript 强制下载base64映像

Javascript 强制下载base64映像,javascript,jquery,Javascript,Jquery,从JS开始并不是我的强项之一。在过去的几天里,我一直在尝试编辑这个JS函数,使其能够强制下载base64图像。当单击下载按钮时,该函数所做的是打开一个带有图像的新窗口。然后用户必须右键单击并保存图片。我正在尝试强制下载图像,而不是右键单击和“另存为” dataurl生成base4 png字符串(数据:image/jpeg;base64,/9j/4aaqskzjrgabaaqabaad/2wbdaaaebaqebaqebaq………) 我试着按照另一个帖子中的建议使用,但没有效果 欢迎所有建议。谢谢

从JS开始并不是我的强项之一。在过去的几天里,我一直在尝试编辑这个JS函数,使其能够强制下载base64图像。当单击下载按钮时,该函数所做的是打开一个带有图像的新窗口。然后用户必须右键单击并保存图片。我正在尝试强制下载图像,而不是右键单击和“另存为”

dataurl生成base4 png字符串(数据:image/jpeg;base64,/9j/4aaqskzjrgabaaqabaad/2wbdaaaebaqebaqebaq………)

我试着按照另一个帖子中的建议使用,但没有效果

欢迎所有建议。谢谢

savePaint: function() {
            var self = this;

            dataURL = self.context.canvas.toDataURL();

            var cntnt = $("<p class='dialogHeader'>Please right click and select 'Save Image As' option. Click here to Return</p>           <img id='PrintImage' src=" + dataURL + ">");
            self.newSavedImage.html(cntnt);

            self.showPopup(self.newSavedImage, self.canvasWidth, self.canvasHeight)
}
savePaint:function(){
var self=这个;
dataURL=self.context.canvas.toDataURL();
var cntnt=$(“

请右键单击并选择“将图像另存为”选项。单击此处返回“

”; self.newSavedImage.html(cntnt); self.showPopup(self.newSavedImage、self.canvasWidth、self.canvasHeight) }
您可以指定不同的MIME类型,而不是图像/jpeg,这样浏览器就不会试图以本机方式打开图像:

data:application/octet-stream;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/...
这将强制下载文件,但我注意到,在某些浏览器配置中,可能会使用默认文件名自动保存,而且由于浏览器不知道真正的文件类型,因此将由用户指定正确的类型。不幸的是,数据URI方案不允许使用建议的文件名


查看更多可能的解决方案。根据您的需求,您的最佳选择可能是使用基于Flash的解决方案,例如。

最终!我让它工作了。对于遇到同样问题的人,我在这里找到了一个函数,可以让你强制下载base64。

你可以试试这个:
javascript文件:

var valuToDecode = document.getElementById("base64-image-string").value;
var linkImg = valuToDecode.concat('" alt="Red dot" download="ganixo-file.png"> click here to download your img </a>');
document.getElementById("codedImg").innerHTML=  '<a href="data:image/jpeg;base64,'.concat(linkImg);
var valuToDecode=document.getElementById(“base64图像字符串”).value;
var linkImg=valuToDecode.concat(“'alt=“Red dot”download=“ganixo file.png”>单击此处下载您的img”);
document.getElementById(“codedImg”).innerHTML=


Link only答案不好。请将相关代码带到答案中。大拇指向下,直到添加相关代码。链接太多了。最好在此处使用代码简单回答:
Image url:<p  id="codedImg"></p>
<p id="codeImg"><a href="data:image/jpeg;base64,iVB..." download="img.png">click here to download your img</a></p>