用户另存为时如何控制base64图像

JPu*_*uge 5 javascript base64 filenames image download

我正在制作一个应用程序,我想向用户显示一系列 base64 编码图片。它们通过使用 data-url 显示。如果用户想要保存图片,只需右键单击并另存为(或将其拖到文件夹中)。

有没有办法控制建议的文件名?现在 Chrome 只是建议“下载”,甚至无法将其识别为图像。这可以以任何方式完成吗?

我只需要它在 Chrome 中工作。

谢谢你的帮助

小智 5

确保您为数据 uri 中的图像设置了正确的 MIME 类型。对我来说,这样做修复了 Chrome 17 中的文件扩展名。该文件被下载为“download.png”,并且打开正常。

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg=="/>
Run Code Online (Sandbox Code Playgroud)

但是,如果您确实需要完全控制文件名,则可以利用a标签的 html5“下载”属性来设置文件名,并使用将要下载的图像数据创建一个 Blob 对象。

在此处查看演示:http : //updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download

在此处阅读更多信息:http : //dev.w3.org/2009/dap/file-system/file-writer.html