2011-06-24 27 views
7

我正在使用Chrome扩展程序:当您拖动图像时,它将被保存到您的计算机上。
我了解到,在HTML5中有FileWriter API,但实际上找不到任何示例,Chrome是否支持它?如何用JavaScript保存图像?

回答

3

没有,是不是在HTML5一个FileWriter API。你可能的意思是File API,它允许你读取文件。而在Chrome中,由于安全原因,甚至不允许扩展名写入文件。因此,除非您想要将NPAPI插件与您的扩展程序捆绑在一起(这会在安装时触发巨大的警告),您只需触发用户可能选择接受或不接受的下载消息即可。有关可能的方法,请参阅Cross-browser Save As .txt(Flash对象,如Downloadify是其他方法)。

编辑:我错了,有一个FileWriter API提案。然而,这远非如此。

2
+0

我看,显然有允许读什么我在答复中说,用户的磁盘相反的零件/写访问的建议。这个提案目前处于早期阶段,并且可能永远不会被任何浏览器实现(安全性问题似乎仍未解决)。 –

+0

@Wladimir文章说Chrome和我的浏览器(chrome)似乎支持本文中使用的所有功能。我会上传屏幕截图。 –

1

我不认为FileWriter API将在一段时间内准备就绪并可用。

您可以以十六进制格式获取图像数据,然后使用DataURI从浏览器“导出”它。虽然这会导致文件以“download(1)”的形式保存。每个浏览器似乎对DataURI有不同的大小限制,并且它们并不大,尽管对于合理大小的图像来说应该没问题。

http://en.wikipedia.org/wiki/Data_URI_scheme

或者,您也可以使用Downloadify将其与适当的文件名保存(需要安装Flash,可能会非常棘手嵌入到Chrome扩展)。

http://davidwalsh.name/downloadify