从JS开始并不是我的优势之一.在过去的几天里,我一直在尝试编辑这个JS函数,以强制下载base64图像.单击下载按钮时,该功能的作用是打开一个新窗口,上面有图像.然后用户必须右键单击并保存图片.我正试图强制下载图像而不是右键单击并"另存为".
dataurl生成base4 png字符串(数据:image/jpeg; base64,/ 9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQ .........)
我尝试使用,因为它是在另一个线程中建议但但是没有用.
欢迎所有建议.谢谢.
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)
}
Run Code Online (Sandbox Code Playgroud)
最后!我得到了它的工作.对于任何面临同样问题的人,我在http://danml.com/download.html找到了一个功能,可以强制下载base64.
您可以指定不同的 MIME 类型而不是 image/jpeg,这样浏览器就不会尝试本机打开图像:
data:application/octet-stream;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/...
Run Code Online (Sandbox Code Playgroud)
这将强制下载文件,但我注意到在某些浏览器配置中可能会使用默认文件名自动保存,并且由于浏览器不知道真实的文件类型,因此将由用户指定正确的类型。不幸的是,数据 URI 方案不允许使用建议的文件名。
查看使用 HTML5/Javascript 生成并保存文件以获得更多可能的解决方案。根据您的要求,您最好的选择可能是使用基于 Flash 的解决方案,例如Downloadify。
| 归档时间: |
|
| 查看次数: |
15416 次 |
| 最近记录: |