使用document.location.href保存客户端数据时,如何向浏览器建议文件名?

Ste*_*eod 6 javascript html5 canvas

我正在尝试将HTML5画布导出为PNG文件,以便将其存储在用户的计算机上.

以下代码段正确保存图像.

document.location.href = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream");
Run Code Online (Sandbox Code Playgroud)

但是,在Mac OS X上使用Chrome时,它始终保存为"下载".在Safari中,它被称为"未知".Firefox给它一个gobbledygook名称.

我可以向浏览器建议使用的名称,例如"exportedImage.png"吗?

Poi*_*nty 4

这显然是浏览器错误列表和W3C 邮件列表中讨论的主题。我找不到任何证据表明任何浏览器都支持“data:”URL 中的文件名参数的想法,尽管很明显该规范总体上支持参数的想法。

另请参阅这个较旧的问题,它与这个问题本质上是相同的。