繁体   English   中英

无需输入即可将数据从Web应用程序获取到客户端计算机上特定文件夹中的XML文件的方法

[英]Ways to get data from a web application into an XML File in a specific folder on a clients computer without their input

我们有一个执行某些交易的Web应用程序。 用户在具有其他应用程序的客户端PC上使用Web应用程序。 第二个应用程序使用与输入到我们系统中的数据非常相似的数据。 目前,用户在我们的两个系统中都输入了它,然后在第二个系统中输入了它。

集成到第二个系统中的唯一方法是将XML文件放在客户端PC上的特定文件夹中。 我希望能够生成该XML文件并将其保存在客户端计算机上,而无需他们单击或确认任何内容。

我知道无法在没有输入的情况下从浏览器下载到客户端PC,但是如果我可以在他们的PC上安装某些东西,那么肯定有一种简便的方法。

到目前为止,这是我想出的:

1:让服务器生成并托管文件,并出现“下载”对话框,以便用户可以下载它。

我不喜欢这样,因为用户需要在每次交易后确认下载,并且他们选择下载目录,因此有可能将其保存到错误的位置。

2:在服务器上创建WCF服务,该服务将提供事务信息并从客户端计算机上的应用程序调用它。 然后,客户端应用程序将生成文件

这似乎更好,但仍然不干净。 首先,用户必须记住要运行该应用程序,并且还需要用户名才能获取相关信息,并且需要为每个用户进行更新。 用户轮班工作,因此如果有人进来并且不更新活动用户的用户名,则错误的用户名将发送到Web服务,并且不会返回任何数据。

3:使用HTML5本地存储保存文件,并从PC上运行的Windows服务访问该文件。

我调查了一下,但似乎不可行。 在本地浏览器存储中创建文件不会使您可以轻松访问的磁盘上的文件。

4:使用Web套接字(例如SignalR)

我只是刚刚开始研究而已,对此还没有完全的了解,请多加赞赏。 同样,需要使用用户名来确定要发送到客户端的数据。

我想听听对我上面说明的方法或任何其他可行的方法的意见或建议。

看来这是一个简单的任务,但我找不到简单的答案,也许第2点是路要走? 所有意见和建议表示赞赏

不会。未经用户同意,您不会在客户端计算机上安装任何东西或将文件放置在文件系统中。 这将是一个荒谬的巨大安全漏洞。

让用户下载一个将文件放置在正确位置的安装程序,仅此而已。

创建自定义URL协议

您将在客户端计算机上安装.exe或.vbs文件(或任何您创建的文件),该文件将在自定义网址协议接收位置时调用,

如:

 myproto://createfile?data=somedatahere

您可以执行.exe文件中需要执行的所有操作,例如使用返回文件内容的Web服务。

您将需要为Windows创建一个可执行文件,为Mac创建另一个可执行文件。

协议到位后,您可以做一些疯狂的事情,例如设置一个websocket来侦听触发自定义url协议的特定消息,然后该消息使用一个Web服务,该服务返回xml文件的内容并将其写入目录在本地文件系统上。 ......

带有签名证书的Java applet可能最终是最佳选择。 这样,一旦它们允许applet运行,我就可以在客户端计算机上生成文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM