我使用此代码在Javascript中保存图像:
window.location.href = grid.toDataURL("image/png").replace("image/png", "image/octet-stream");
代码有效,但保存的文件没有任何扩展名,我必须手动重命名。
我的问题是如何将扩展程序放在最后?
谢谢。
答案 0 :(得分:6)
toDataURL
生成的数据不是文件名,因此在这种情况下扩展名不适用。
data-uri只是二进制内容的文本编码版本,某些浏览器可以将其读作文件 - 如果愿意,可以读取数据流。由于数据流没有任何文件名,因此无法附加。
您可以通过设置这样的锚标记来解决此问题:
<a id="imageLink" href="data-uri-here" download="myFilename.png">
Click to download
</a>
在JavaScript中,您可以将这些属性设置为动态:
imageLink.href = grid.toDataURL();
imageLink.download = 'myOtherFilename.png';