如何使用JavaScript创建和保存文本文件

4

您是否知道有任何跨浏览器的方法可以使用JavaScript在客户端创建和保存文件?

考虑因素:

  1. 我无法将其保存在服务器上,因为文件将从财务打印机中读取。
  2. 服务器无法访问客户端。这是显而易见的,因为我们正在谈论网络应用程序,所以服务器无法访问客户端文件夹。
  3. 新的ActiveXObject("Scripting.FileSystemObject");仅适用于Internet Explorer,甚至不是所有版本。
  4. 我们正在讨论对财务打印机进行打印,因此我不能要求超市收银员下载文本文件并将其保存在财务打印机可以读取的文件夹中。
  5. 如果不使用JavaScript,我可以在我的ASP、.Net 4.0、C#网络应用程序中使用什么?
4个回答

4
基本上,你说了,“我们正在谈论一个Web应用程序。” 除了cookie之外,你知道有哪些Web应用程序可以在不首先显示下载提示的情况下将文件保存到硬盘吗?
话虽如此,浏览器已经开始提供超越cookie的持久化API。 (例如,请参见这篇文章。)但这样的解决方案无法满足您跨浏览器的要求。

你的“本文”链接已经失效。在链接到外部页面时,非常重要的一点是在你的文本中总结信息,以便于当链接失效时,信息仍然有用。请参阅 https://meta.stackoverflow.com/tags/link-only-answers/info “链接腐败” “你的答案在另一个城堡里:何时一个答案不是答案? - the Tin Man

1

你唯一的选择是使用HTML5的持久性API或创建一个浏览器插件(在IE上为ActiveX控件,在其他浏览器上为NPAPI插件),以便可以访问文件。你可以使用FireBreath来完成这个任务,如果你懂C++的话,这将相对简单。

话虽如此,这确实是一个非常危险的想法;很难防止人们在其他页面中使用你的插件,因此你的插件必须聪明到足以避免被恶意网站滥用,这些网站想要读取(甚至写入)任意数据到你的硬盘。

毕竟,浏览器不原生支持这个功能是有原因的。我建议你看看HTML5。


-1

我们开发了一个简单的 Windows 服务 Node.js 应用程序,可安装在本地计算机上。 当 Web 应用程序需要创建文件时,只需使用本地主机发送 API 调用到该应用程序,即可自动为其编写文件。 祝好!


-1

你可以通过客户端 Web 服务来实现这一点,只需在 Web 服务中创建一个函数来在硬盘上创建一个文本文件,然后将 Web 服务转换为客户端服务。当你这样做时,.Net 框架会生成一个客户端 JavaScript,然后你就能够使用客户端的 JavaScript 调用服务器端的函数,在此之后,你的文件将不会被发布到服务器上,而是保存在你的硬盘上。


请仔细阅读问题,我需要将文件写入客户端而不是服务器。 - eKelvin
你的文件将在客户端而不是服务器上编写。.NET框架创建一个面向对象的JavaScript Web服务对象,即使你想要使用这个JavaScript,你的页面也会在轻微的回发时编写一个文本文件。 - haseebkhan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接