如何使用JavaScript保存图像

How to save an image with JavaScript?

本文关键字:图像 保存 JavaScript 何使用      更新时间:2023-09-26

我正在开发Chrome扩展:当你拖动图像时,它会保存到你的计算机上
我了解到HTML5中有FileWriter API,但真的找不到它的任何例子,Chrome支持它吗?

不,HTML5中没有FileWriter API。您的意思可能是文件API,它允许您读取文件。在Chrome中,出于安全考虑,甚至不允许扩展名写入文件。因此,除非你想将NPAPI插件与你的扩展捆绑在一起(这将在安装时触发一个巨大的警告),否则你所能做的就是触发一条下载消息,用户可能会选择接受或不接受。请参阅跨浏览器另存为.txt以获取可能的方法(另一种方法是像Downloadify这样的Flash对象)。

编辑:我错了,有一个FileWriter API建议。然而,这还远远没有完成。

我发现了这个。http://www.html5rocks.com/en/tutorials/file/filesystem/你可以找到一些例子。

编辑这是文章的屏幕截图。我使用的是chrome 12.0

FileWriter API浏览器支持消息http://s3.amazonaws.com/twitpic/photos/full/329503613.png?AWSAccessKeyId=AKIAJF3XCCKACR3QDMOA&过期=1308932374&签名=DXBdFSjbNqaeJPr%2FfsaqPWyh2E%3D

我认为FileWriter API在一段时间内还不会准备好并可用。

您可以获得十六进制的图像数据,然后使用DataURI从浏览器"导出"它。尽管这会导致使用诸如"download(1)"之类的文件名保存文件。对于DataURI,每个浏览器似乎都有不同的大小限制,而且它们并不大,尽管对于大小合理的图像来说可能很好。

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

或者,您可以使用Downloadify将其保存为正确的文件名(需要闪存,嵌入chrome扩展可能很难)。

http://davidwalsh.name/downloadify