如何从画布保存多个生成的文件

Posted

技术标签:

【中文标题】如何从画布保存多个生成的文件【英文标题】:How to save multiple generated files from canvas 【发布时间】:2012-11-09 02:42:45 【问题描述】:

我创建了一个脚本来通过绘制图像并使用 dataURL 输出它们来生成图像,如下所示:

var dataURL = d.toDataURL();
var createElement = document.createElement('img');
createElement.setAttribute('id',imgNumber);
createElement.setAttribute('src',dataURL);
document.getElementById('showimage').appendChild(createElement);

问题是,我想一次性保存这些图像文件。 由于安全问题,javascript 在很多方面都阻止了这种情况,但 html5 似乎有一些可能性。请任何人都可以建议一种一次性保存所有文件的方法。 目前,如果我创建 10 张图片,我必须在 Chrome 中一遍又一遍地使用“另存为”来保存每个单独的图片。 任何想法,甚至是 JavaScript 之外的想法都会被考虑。谢谢。

【问题讨论】:

在 Chrome 中,如果您定义了下载目录并允许下载而不指定下载位置,则没有对话框。 嗨,我没有在 Chrome 设置中选中“下载前询问每个文件的保存位置”,但它会为每个文件打开一个单独的下载屏幕。请您提供更多信息。 【参考方案1】:

你可以压缩它们,然后下载压缩包。 http://stuk.github.io/jszip/

【讨论】:

以上是关于如何从画布保存多个生成的文件的主要内容,如果未能解决你的问题,请参考以下文章

将 three.js 生成的画布保存到服务器 - 没有文件被保存

发送“画布”生成的图像,不保存到文件

如何从 Three.js 画布中保存图像?

微信小程序导出当前画布指定区域的内容并生成图片保存到本地相册(canvas)

如何将 base64 编码的图像保存到磁盘?

如何将画布数据保存到文件