代码之家  ›  专栏  ›  技术社区  ›  MikeN

Web应用程序如何同步客户端PC上的文本文件文件夹?

  •  1
  • MikeN  · 技术社区  · 15 年前

    我希望能够从我的Web应用程序实时同步用户PC上的几个文本文件。基本上,我希望本地PC上的一些数据文件在我的Web应用程序中反映用户数据的状态,这样,如果Web应用程序或用户的Internet连接丢失,他可以使用这些数据文件来获取一些关键信息(可能使用存储在这些数据文件中的HTML/javascript代码,这些文件将在脱机模式下运行)。

    我知道google gears有很多有趣的工具来处理离线状态,但是我更喜欢一个更简单的HTML/javascript应用程序,它不会像google gears那样依赖。我宁愿使用GoogleGears来创建这些文件,并在一天中慢慢地使它们与Web应用程序的数据版本保持同步。

    答案更新: PersistJS是我将要研究的一个好建议,但我希望人们能引导我走向真正优秀的GoogleGears教程资源。

    6 回复  |  直到 15 年前
        1
  •  9
  •   orip    15 年前

    可以使用在浏览器上保存数据 PersistJS ,它使用它能找到的最佳客户端持久存储机制,支持:

    • 闪光
    • 谷歌离线应用开发工具
    • HTML 5存储规格
    • 浏览器特定扩展
    • 曲奇饼

    当你的应用重新连接时,你可以重新同步。创建和读取文本文件是浏览器通常会阻止您的网站执行的操作。

        2
  •  0
  •   eLAN    15 年前

    冒着声明显而易见的风险;如果您想在本地存储用户状态,cookies不是标准方法吗? 也许需要更多的饼干,但这听起来是最简单的方法。

        3
  •  0
  •   RHicke    15 年前

    你需要制作一个ActiveX控件和一个火狐插件来获得这些权限。除此之外,我同意ORIP尝试使用 PersistJS

        4
  •  0
  •   austin cheney    15 年前

    您可以要求用户下载一个Subversion客户机,该客户机是预先定义的,只能与Subversion服务器交互。然后编写Web应用程序,仅从您的角度与Subversion服务进行交互。

    授予对用户文件系统的访问权限会带来很大的安全危害,因此您需要锁定所有可能的攻击点。您将希望确保用户无法访问Subversion服务器,除非通过您要求他们安装的客户端进行访问。您需要确保应用程序服务器和Subversion服务器之间的连接非常安全,这样就不会破坏传输路径,并且可能加载到应用程序服务器上的恶意逻辑也无法访问Subversion服务器。我想说的是加密这两个服务器之间的传输路径,并将Subversion服务器放在防火墙后面,将网络DMZ分隔开。我还建议在应用服务器和颠覆服务器之间使用挑战/响应机制,以防止恶意代码看起来是在应用服务器上做出的合法决策。此外,确保数据仅以单向方式从应用程序服务器流到Subversion服务器,因为如果应用程序服务器上植入了恶意逻辑,那么来自Subversion服务器的任何数据都会受到破坏,甚至不会访问该服务器。

        5
  •  -1
  •   Gavin    15 年前

    您可以通过javascript使用文件系统对象fso,但是它依赖于Microsoft,因为它是一个ActiveX控件,它还需要浏览器中的权限,或者可能需要HTA(HTML应用程序)。

    http://www.webreference.com/js/column71/

    这是一个真正的安全问题,所以大多数通道都被关闭了。

        6
  •  -2
  •   Rebol Tutorial    15 年前

    从本质上讲,Web模型设计为不授权上游从服务器到客户机。现在事情正在慢慢地变化,也许你能用WebSocket来做这个吗?