我一直在玩弄一个以实时文件共享为核心的 Web 应用程序。会有用户组,人们可以与组共享他们的文件。需要通过 Web 界面和其他用户的计算机立即访问文件。
我有一个基本版本,在服务器上使用 Dropbox 的无头 Linux 客户端。用户将与服务器的帐户共享一个文件夹,并且在服务器端发生了令人讨厌的巫术以正确地整理所有内容。我查看了 ~/Dropbox 文件夹以获取更新,并做了任何需要做的事情。由于 Dropbox 的结构,文件副本必须为每个用户存储一次,这意味着需要大量的磁盘空间。我的解决方案有效,但几乎没有。
我尝试转换为 Dropbox 的 API,但发现他们对更新文件的轮询建议是每 5 分钟一次。如果您保持比每 2 分钟一次快得多的速度,他们会阻止您。即便如此,轮询 API 确实不是一种选择。我需要文件上传的那一刻;10秒后真的太慢了。Google Drive 的 API 给了我类似的麻烦。
我曾短暂考虑过编写自己的桌面应用程序供用户安装,但很快就放弃了这个想法。我不是桌面软件开发人员,所以该程序无疑会有问题。更重要的是,这个应用程序并不适合精通技术的书呆子。它适用于普通人。桌面应用程序需要尽可能简单:他们的计算机上有一个文件夹,他们将东西放在文件夹中,然后奇迹发生了,他们的文件在互联网上。Dropbox 做得非常好,但他们的开发者 API 完全无法满足我的需求。
谁能建议我可以研究的其他应用程序?我没有太多的预算,所以免费更好。我不介意将文件存储在我的服务器上,总文件大小可能最多只能保持几个演出。如果需要任何服务器端二进制文件,我使用的服务器运行 Ubuntu 12.04。唯一真正重要的事情是桌面应用程序对于非技术人员来说很容易使用,并且有一些方法可以在文件更新时通知我的应用程序。