无法将办公室在线wopi文件保存回服务器

时间:2017-03-10 11:34:52

标签: office365 onedrive sharepoint-online ms-wopi

我正在使用我们的一个内部工具进行WOPI集成,而我在客户端保存文档时遇到了一个问题。

我能够将 ClientUrl 设置为GET方法,该方法将文件内容作为“application / octet-stream”返回。 之后,通过单击“在Word中编辑”,Word将成功打开所需的文档。但我只能在本地保存一份文件。

我实现了同一URL的方法,不仅用于GET,还用于POST和PUT,并希望Word会尝试通过调用文件内容来保存这个文件,但目前我甚至无法从Word中保存。

我希望实现与SharePoint / OneDrive相同的功能,允许我将打开的文档直接保存到服务器。

可以请一些人帮我这个吗?

1 个答案:

答案 0 :(得分:2)

根据您是要与Office Online Server 2016还是Office Web Apps 2013集成,您应分别参考newold文档。

成功实施" Save"操作,你必须:

  • true
  • 中将SupportsUpdate设为CheckFileInfo
  • 实施相应的操作:PutFile(必填)和PutRelativeFile(可选,用于创建新文件,不一定需要更新)
  • 如果您想支持OWA 2013,您必须实施所谓的" Cobalt",又名MS-FSSHTTP。幸运的是,OOS 2016不再需要这样做
    • 在这种情况下,将CheckFileInfoSupportsCobaltSupportsCoauth功能设置为true
    • 非常重要
  • 在编辑时实施锁定以防止任何冲突也是明智之举。设置SupportsLocks并实施相应的方法

如果您需要一些示例,请在GitHub中搜索ms-wopi标记。

如果您想支持从桌面版MS Word进行更新,那就完全不同了。您需要查看其他位置 - 可以通过实现WebDAV(HTTP上的扩展)来实现。与MS-WOPI不同,它是一个非常复杂的协议。我建议使用外部库,例如来自IT Hit的WebDAV服务器。这应该会让你的生活更轻松。