JavaScript如何保存到本地文件?
已经有一个在线编写文件JSON的解决方案,但我想在本地保存json文件。 我试过使用这个例子http://jsfiddle.net/RZBbY/10/它创建了一个下载文件的链接,使用这个调用a.attr('href', 'data:application/x-json;base64,' + btoa(t.val())).show();
有没有办法在本地保存文件而不是提供可下载的链接? 除了data:application/x-json;base64
之外还有其他类型的转换data:application/x-json;base64
?
这是我的代码:
jQuery UI Sortable - Default functionality a { font: 12px Arial; color: #ac9095; } $(document).ready(function() { var f = $('form'), a = $('a'), i = $('input'), t = $('textarea'); $('#salva').click(function() { var o = {}, v = t.val(); a.hide();//nasconde il contenuto i.each(function() { o[this.name] = $(this).val(); }); if (v === '') { t.val("[\n " + JSON.stringify(o) + " \n]") } else { t.val(v.substr(0, v.length - 3)); t.val(t.val() + ",\n " + JSON.stringify(o) + " \n]") } }); }); $('#esporta').bind('click', function() { a.attr('href', 'data:application/x-json;base64,' + btoa(t.val())).show(); });
Scarica Dati
您应该检查download
属性和window.URL
方法,因为download
属性似乎不喜欢数据URI。 谷歌的这个例子几乎就是你想要做的。
在不涉及本地客户端(浏览器机器)的情况下,无法在本地保存文件,因为我可能对客户端计算机构成巨大威胁。 您可以使用链接下载该文件。 如果要在本地计算机上存储类似Json数据的内容, 可以使用浏览器 Web Storage 提供的LocalStorage
这完全取决于你想要通过“本地保存”来实现的目标。 您是否要允许用户下载文件? 然后是要走的路。 是否要在本地保存,以便恢复应用程序状态? 然后,您可能想要查看WebStorage的各种选项。 特别是localStorage或IndexedDB 。 FilesystemAPI允许您创建可以存储任意数据的本地虚拟文件系统。
虽然大多数人都鄙视Flash,但在html / javascript环境中提供“保存”和“另存为”function是一个可行的选择。
我创建了一个名为“OpenSave”的小部件,它提供了以下function:
http://www.gieson.com/Library/projects/utilities/opensave/
-麦克风
所以,你真正的问题是:“JavaScript如何保存到本地文件?”
看看http://www.tiddlywiki.com/
在内部“更改”后,他们会在本地保存HTML页面。
[更新2016.01.31]
TiddlyWiki原始版本直接保存。 它非常好,并保存到可配置的备份目录中,时间戳作为备份文件名的一部分。
TiddlyWiki当前版本只需将其下载为任何文件下载。 您需要自己进行备份管理。 🙁
[更新结束
诀窍是,您必须以file://而不是http://打开页面才能在本地保存。
您浏览器的安全性不会让您保存到_someone_else的本地系统,只能保存到您自己的系统,即使这样也不是很简单。
-Jesse
如果您使用的是FireFox,则可以使用File HandleAPI
https://developer.mozilla.org/en-US/docs/Web/API/File_Handle_API
我刚刚测试了它,它的工作原理!