我试图找出一种方法来允许用户从服务器下载文件并对其进行编辑,但是当他们保存时,它会保存回服务器。如果可能的话,我正在寻找一种不涉及闪光灯或银光之类的方法。
5 回答
你不能那样做。如果文档是通过本地软件下载本地版本,则必须由用户自愿上传。
如果不是这种情况,那将是安全漏洞,因为浏览器不必查看(也看不到)本地文件,也不会收到更改通知。
现在,如果我们不寻找通用且简单的解决方案,而是接受用户的一些协作,我们有什么?
webdav通常用于企业 WAN 上的共享目录。这个基于 Web 的协议允许共享文档,并且许多软件,其中包括OpenOffice和MsOffice,都能够与 webdav 一起使用。我认为所有最近的操作系统都支持这个协议。
一些文档管理系统(其中包括我过去使用的KTDMS )在您的计算机上安装本机(windows)挂钩,使您能够从您使用的软件(主要是 MsOffice)发回文档。那些 DMS 通常还提供标准的 webdav 访问,以便与任何操作系统兼容
正如其他人所说,一旦用户从您的服务器下载文件,您就无法控制他对它的处理方式。您还有其他可能性:
不要让用户下载文件,而是在网站内显示一个编辑器。这在没有 Flash/Silverlight 的情况下通常是可能的,但可用的(通常基于 JavaScript 的)编辑器与桌面版相比通常相对原始,除非您只处理纯文本文件。
告诉用户修改后再次上传文件。不太直观,但对您来说也更少麻烦。
您希望保存的版本自动上传到服务器吗?如果您让他们将它下载到他们的桌面并在那里进行编辑,您将无法控制它会发生什么,他们如何编辑它以及他们是否会上传它。
如果您希望用户在保留在服务器上的同时可以编辑某些内容,请让他们通过服务器上的 Web 应用程序对其进行编辑。像 Google Docs 和许多类似的云服务。
这是否可行取决于它是什么类型的文件以及你需要什么样的编辑器来编辑它。纯文本相对容易。某些专有格式不是。
尝试使用谷歌驱动器。他们将本地副本同步到服务器。理解它可能会帮助你
如果您只是希望用户能够使用您服务器上的文本文件,您可以使用像 codemirror 这样的 javascript 编辑器。CodeMirror 允许您在浏览器中编辑文件并支持程序语言语法高亮。
这是一个演示:
http ://codemirror.net/demo/complete.html
如果你想拥有一个用户友好的所见即所得编辑器,或者使用 TinyMCE:
http ://www.tinymce.com/