“另存为” Angular 应用程序中 HTML5 本地存储中的文件

Posted

技术标签:

【中文标题】“另存为” Angular 应用程序中 HTML5 本地存储中的文件【英文标题】:"Save As" a file that is in HTML5 local storage in angular application 【发布时间】:2014-05-01 19:10:13 【问题描述】:

我看到了很多关于将数据放入 html5 本地存储的问题,甚至看到了一个很酷的文本编辑器,可以将文件保存在本地存储中。我有一个类似的应用程序,现在希望能够让用户在本地存储中获取他们一直在编辑的文件,然后将其保存在他们的桌面上。

我可以将文件流式传输到服务器上的服务并让浏览器以这种方式提示,但我希望将其全部保留在客户端。这些文件通常是基于文本或 xml 的。有没有办法以角度设置服务以获取本地存储中文件的字节然后流式传输并让浏览器提示用户保存位置等。

任何帮助保留它的客户端将不胜感激。

丰富

【问题讨论】:

方法是将文件发送到服务器,然后让用户下载。我认为没有办法将其从本地存储保存到客户端的硬盘。 @EliteOctagon 您可以使用 blob。 html5rocks.com/en/tutorials/file/filesystem 主要问题是“如何将 java 脚本对象保存在文件中?”因为我们可以轻松地从本地存储读取和写入 java 脚本对象:有一些我没有亲自尝试过的答案,但这似乎很有希望:muaz-khan.blogspot.com/2012/10/… 【参考方案1】:

您不需要将文件上传到服务器并让用户下载它 - 这没有任何意义。如果不允许服务器访问此文件怎么办?

无论如何,我在我的 angularJS 项目中使用了FileSaver.js library,它工作得很好。

您可以使用诸如JSZip 之类的库在文件存档中提供多个文件。

【讨论】:

以上是关于“另存为” Angular 应用程序中 HTML5 本地存储中的文件的主要内容,如果未能解决你的问题,请参考以下文章

如何为图像创建另存为按钮

在html或者jsp中怎么弹出文件另存为的对话框

不考虑另存为文件类型的另存为通用文件对话框

程序中的对话框应用- ”另存为“对话框

用“另存为”下载文件

如何在 Visual Basic 中执行另存为 (V11 2012)