强制下载base64图像

从JS开始并不是我的优势之一。 在过去的几天里,我一直在努力编辑这个JS函数,以强制下载base64图像。 单击下载按钮时,该function的作用是打开一个新窗口,上面有图像。 然后用户必须右键单击并保存图片。 我试图强制下载图像而不是右键单击并“另存为”。

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

我尝试使用,因为它是在另一个线程中建议但但是没有用。

欢迎所有建议。 谢谢。

savePaint: function() { var self = this; dataURL = self.context.canvas.toDataURL(); var cntnt = $("

Please right click and select 'Save Image As' option. Click here to Return

"); self.newSavedImage.html(cntnt); self.showPopup(self.newSavedImage, self.canvasWidth, self.canvasHeight) }

最后! 我得到了它的工作。 对于任何面临同样问题的人,我在http://danml.com/download.html找到了一个function,可以强制下载base64。

您可以指定不同的MIME类型而不是image / jpeg,以便浏览器不会尝试本机打开图像:

 data:application/octet-stream;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/... 

这将强制文件下载,但我注意到在某些浏览器配置中可能会使用默认文件名自动保存,并且由于浏览器不知道真实的文件类型,因此用户需要指定正确的类型。 不幸的是,数据URI方案不允许建议的文件名。

查看使用HTML5 / Javascript生成并保存文件以获得更多可能的解决方案。 根据您的要求,您最好的选择可能是使用基于Flash的解决方案,例如Downloadify 。