0

据我所知,这似乎是不可能的,但这里是:

我正在完成一个 Greasemonkey 脚本。在此脚本中,最终用户能够将某些内容保存到 html5localStorage变量中(不是脚本的目的,仅用于其中的一部分)。

由于缓存清除可以擦除这些存储值,我创建了一个导出功能,它只是一个未知数据类型,它强制下载文件。

data:something;charset=utf-8,'+encodeURIComponent(somevariable)

我的问题是关于创建导入功能。由于文件保存时没有扩展名,并且此脚本将专门在 Linux 中使用,因此直接在文本程序中打开文件并将数据粘贴到 textarea 将是一种简单的导入方法。

但是,如果没有某种服务器端脚本或外部服务器,有什么方法可以让用户选择要导入的文件?例如允许最终用户从计算机中选择文件的对话框,然后我可以在其中进行操作?

4

2 回答 2

1

HTML5 引入了HTML5 文件 API

使用在 HTML5 中添加到 DOM 的 File API,现在 Web 内容可以要求用户选择本地文件,然后读取这些文件的内容。可以通过使用 HTML 元素或拖放来完成此选择。

您可以挂钩change事件并检查 evt.target.files;

此外,您可以使用 Blob 来处理数据,而不必依赖数据 uri。

这是一个很好的教程

于 2013-05-23T03:59:32.143 回答
0

拯救 HTML 5 文件 API!

http://www.html5rocks.com/en/tutorials/file/dndfiles/

IE9 不支持,但大多数现代浏览器都支持: http ://caniuse.com/#search=file%20api

于 2013-05-23T03:54:40.307 回答