我正在开发一个应用程序,允许用户通过网页打开Word文档。
如果是内部网络场景,您可以使用Office URI方案的应用程序协议来链接到文档,这样文档将在本地安装的客户端中打开。
Office URI模式如下:
<scheme-name>:<command-name>"|"<command-argument-descriptor> "|"<command-argument>
对于Word来说,一个示例是:
<a href='ms-word:ofe|u|https://example.com/example.docx'>Edit</a>
其中,
ms-word:
是方案,
ofe
命令代表
打开以进行编辑,
u
是命令描述符,用于
使用之后的 URI,最后是文档本身的 URI。还有其他命令,如
ofv
(
打开以进行查看),
nft
(
新建模板),以及其他命令描述符,如
s
代表
保存。
这里是完整的参考:https://msdn.microsoft.com/en-us/library/office/dn906146.aspx
当安装 Office 客户端时,协议会在 Windows 中注册。
您可以轻松在 IIS 服务器上启用 WebDAV。WebDAV 客户端已经内置在客户端的 Windows 中。
您还可以使用组件,如FFWinPlugin插件,它是SharePoint Foundation的一部分,或者OpenDocuments控件,它是随Office客户端一起安装的ActiveX控件。
我们可能也会将此应用程序公开
我建议您不要这样做,除非您的公司拥有或处理类似于OneDrive或Office.com的服务。这很容易变得棘手,正如其他答案中所提到的那样。此外,向普通公众强制推广专有客户端也不是一个好主意。而且,即使是Microsoft自己的解决方案在各种浏览器上的可靠性也无法保证,只有IE才能最好地工作(即使Edge也存在问题),这将向普通公众强制推广特定浏览器。这不是一个好主意。
但是,如果您确实需要,那么最好使用已经围绕WebDAV构建的一些解决方案。 Alfresco ECM(企业内容管理)是使用WebDAV类似于您的用例的公共提供的一个示例。
还有一个由IT Hit提供的,这里有一个实时演示: http://www.ajaxbrowser.com。他们还有一个基本教程,介绍如何设置自己的WebDAV服务器,与您的用例相同。您需要找到他们的文档。