Javascript 如何存储图像?(A:indexedDB)

Javascript 如何存储图像?(A:indexedDB),javascript,database,image,Javascript,Database,Image,我的理解是webSQL正在被弃用,所以我试图在localStorage、indexedDB和FileSystem之间做出选择 哪一个更好?这些通常是64px x 64px的图像。IndexedDB是一种无sql存储机制,最适合用于类似数据库的应用程序。只需将图像转换为Base64,并将其存储在localStorage提供的键值对中。您可以尝试该插件,将图像作为Base64编码字符串 $.base64.encode( "this is a test" ); $.base64.decode( "dG

我的理解是webSQL正在被弃用,所以我试图在localStorage、indexedDB和FileSystem之间做出选择


哪一个更好?这些通常是64px x 64px的图像。

IndexedDB
是一种
无sql
存储机制,最适合用于类似数据库的应用程序。只需将图像转换为
Base64
,并将其存储在
localStorage
提供的键值对中。

您可以尝试该插件,将图像作为Base64编码字符串

$.base64.encode( "this is a test" );
$.base64.decode( "dGhpcyBpcyBhIHRlc3Q=" );

将它们直接放在a中-不需要编码,或者更好,为a添加所需的清单文件,该文件也可以很好地在线工作,并让浏览器处理本地存储。这样做的好处是,解包和显示图像时不需要特殊的Javascript代码,只需使用带有
src
属性的图像标记即可。

IndexedDB与localStorage不同。IndexedDb适用于大量数据,具有强大的搜索能力。对于图像商店来说,它可能有点重。localStorage存储短键值对,通常每个域的大小限制约为5Mb(因浏览器而异)。如果要存储大量图像,这可能还不够。我意识到了其中的差异。这就是为什么我建议将localStorage用于如此简单的任务。如果图像很小,应该是有效的。如果它们较大,则IndexedDB更好。事实上,我并不认为这种复杂性会增加太多。可能是一个更好的解决方案,因为它的规模。IndexedDB也有类似的限制吗?几乎没有流行的应用程序(facebook、twitter等)使用“离线应用程序”,尽管支持广泛,因为它需要用户同意。它是那些从未被使用过的HTML5API之一。就现代浏览器而言,文件系统只支持Chrome。