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

我刚刚测试了它,它的工作原理!