假设我有启用 WebDAV 的服务器,其中有一堆 Office 文档。我想生成具有文档链接的网页,以便单击该链接将打开 Microsoft Word。Word 会依次从 WebDAV 服务器下载文档,当用户完成文档编辑后,MS Word 会将其上传回来。
我知道 MS Word(和其他 Office 程序)支持编辑存储在 WebDAV 服务器上的文档。我不知道的是如何生成链接,该链接将触发 MS Word 自行下载此文档。
是否可以?也许使用一些特殊的方案?
嗯,你也可以使用这样的东西:
<a href="ms-word:ofe|u|http://some_WebDav_enabled_address.com/some_Word_document.docx">Open Document in Word</a>
与上述答案的不同之处在于,这将不再需要 ActiveX,并且它至少可以在 IE 8+、Chrome 和 Firefox 中运行,只要它是从 Windows 机器上打开的,对于 Office 2010+(不是 100% 肯定这个虽然)。
说明:该ms-word:ofe
部分是在安装 Office 时安装在客户端计算机上的协议。我不知道这|u|
部分到底是做什么的。
Confluence 使用 SharePoint.OpenDocuments ActiveX 控件的EditDocument方法。
Javascript 中的示例:
new ActiveXObject("SharePoint.OpenDocuments.1").EditDocument("http://example.com/test.doc")
据我记得,实现这一点的唯一方法是通过 ActiveX 显式实例化 Word,并将 URL 传递给它以打开。
这可以在 HTML 页面中完成(其中需要 IE),或者使用需要为新的 mime 类型注册的外部应用程序(参见http://greenbytes.de/tech/webdav/rfc4709 .html#rfc.section.B.1为例)。
我发现 Confluence 可以做到这一点。他们有特殊的 Firefox 插件,但它应该可以在 Internet Explorer 上正常工作。
事实上,当我开始使用它时,事实证明 IE 确实直接从 WebDAV 打开文档。好像 IE 下载了页面,将其传递给 MS Word,但与 URL 一起。然后 MS Word 可以将文件保存回来(嗯,有时它会将文件视为只读文件,并且不允许保存回来,但允许以不同的名称上传)。
还在调查。