浏览器应用程序和本地文件系统访问

16
我希望通过添加本地文件和文件夹管理功能来增强我的基于浏览器的Web应用程序。例如,文件夹树结构应通过HTTP(S)在本地工作站和服务器之间同步。

我知道基于浏览器的应用程序存在安全方面的限制。但是,还有一些技术可以“规避”这些问题:

  • 签名Java小程序(具有完全信任)
  • .NET Windows窗体浏览器控件(不是玩笑,它能用。只是配置很可怕)
  • ActiveX

我的问题是:您使用/建议使用哪些技术和实现方法?关键要求是安装过程尽可能简单。

感谢您的意见!


1
你是针对所有浏览器还是只针对IE和Windows? - i_am_jorf
请查看box.com的API。根据您的操作方式,本地文件系统与网络文件系统之间会存在一些同步延迟。此外,Linux支持效果不佳。 - meawoppl
7个回答

5

Google Gears。

它可以让你编写JavaScript应用程序,支持的平台比普通浏览器更多,并且可以在没有网络连接时访问本地文件、缓存和数据库。如果有网络连接,它会与中央服务器同步。

适用于所有平台上的几个浏览器;但仍在积极发展中。


2

Silverlight 4(仍处于测试阶段)允许访问文件系统:

“例如存储媒体文件和本地复制报告,读写用户的MyDocuments,MyMusic,MyPictures和MyVideos文件夹(或非Windows平台的等效文件夹)”

http://www.silverlight.net/getstarted/silverlight-4/


2

无论是Gears还是Adobe Air,都需要用户在程序代码获得访问权限之前手动选择本地文件。由于安全方面的考虑,对于本地文件系统访问非常有限,因此我认为没有任何基于Web的文件同步功能可用。也许我对Adobe Air的了解不够,但对于Gears来说,这绝对是事实。如果我错了,请告诉我!


1

绝对不是ActiveX。浪费时间在过时的东西上没有意义。


1
Adobe AIR(本质上是桌面版的Flash)是我上一个合同中考虑的选项之一,而不是Java小程序。虽然已经过去几个月了,但我最后检查时,安装AIR运行环境非常快捷简便。

0
你最好的选择可能是编写一个与你的 Web 应用程序交互的自定义应用程序。例如,Dropbox 允许你通过后台应用程序在计算机之间同步文件,该应用程序监视支持 Dropbox 的文件夹。它还允许你通过 Web 浏览器在线查看你的 Dropbox 文件。然后,Dropbox Web 应用程序允许你删除/移动/复制文件,并在本地文件系统中反映出来。

0
在 Google Wave 的演示中...

http://www.youtube.com/watch?v=v_UyVmITiYQ&fmt=18

在下午3:30,一组img文件从文件系统拖放到浏览器中。这个功能归功于Google Gears。这似乎与Daniel OCallaghan和官方文档所建议的可能性有些不同。

有人知道Google Gear和本地文件系统实际上可以做什么吗?


1
Gears文件系统文档:http://code.google.com/p/gears/wiki/FileSystemAPI - Rob Lord

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