2012-03-03 23 views
4

如何控制base64图像我正在做一个应用程序,我想向用户显示一系列base64编码图片。它们通过使用data-url显示。如果用户想要保存图片,可以直接点击并保存为(或将其拖入文件夹中)。当用户保存为

有什么办法可以控制拥塞文件名吗?目前,Chrome只是“吸收”下载,甚至不认为它是一个图像。这可以以任何方式完成吗?

我只需要它在Chrome中工作。

感谢所有帮助

回答

3

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

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA 
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO 
9TXL0Y4OHwAAAABJRU5ErkJggg=="/> 

但是,如果你真的需要完全控制的文件名,你可以利用的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

+0

谢谢你,这是我需要的!你是对的,我错过了datauri中的mime类型。此外,将图像以数据uri作为href并将文件名作为download-attribute包装到a标签中。这允许用户通过点击下载图像。当图像拖动到桌面上时,我仍然无法选择文件名,但这对我很有用。再次感谢。 – JPuge 2012-03-03 21:41:58

相关问题