2017-03-10 57 views
-1

我正在與我們的內部工具之一進行WOPI集成,並且在將文檔保存到客戶端時遇到了一個問題。無法將辦公室在線wopi文檔保存到服務器

我能夠將ClientUrl設置爲GET方法,該方法將文件內容作爲「application/octet-stream」返回。 之後,通過單擊「在Word中編輯」,Word將成功打開所需的文檔。但我只能在本地保存文檔的副本。

我實現了相同的URL的方法不僅爲GET,但POST和PUT也希望Word將嘗試通過調用文件內容來保存此文件,但目前我甚至無法從Word保存。

我想實現與SharePoint/OneDrive一樣的功能,它允許我將打開的文檔直接保存到服務器。

可以請一些人幫助我嗎?

回答

1

根據您是否與Office Online Server 2016或Office Web Apps 2013集成,您應分別參閱newold文檔。

若要成功地實現 「保存」 操作,你必須:

  • CheckFileInfo
  • 設置SupportsUpdatetrue執行相應的操作:PutFile(強制性)和PutRelativeFile(可選,用於創建新文件,不一定需要更新)
  • 如果您要支持OWA 2013,則必須實施所謂的「Cobalt」,又名MS-FSSHTTP。幸運的是,這不再與在這種情況下OOS 2016
    • 需要,它設置SupportsCobaltSupportsCoauth能力CheckFileInfotrue
  • 它也是明智實現鎖定,以防止任何衝突編輯時是非常重要的。設置爲SupportsLocks並執行相應的方法

如果您需要一些示例,請在GitHub上搜索ms-wopi標記。

如果你想支持從MS Word的桌面版本更新,那是完全不同的故事。你需要去別的地方 - 它可以通過實現WebDAV(HTTP之上的擴展)來完成。與MS-WOPI不同,這是一個相當複雜的協議。我建議使用外部庫,例如IT Hit的WebDAV服務器。這應該會讓你的生活更輕鬆。

+0

感謝您的幫助, 我與Office Online Server 2016集成,我能夠從瀏覽器保存文檔。 我正在尋找一些方法將桌面MS Word中的文檔保存回服務器。就像OneDrive一樣。 – Kryglui

+1

是的,您正在尋找WebDAV。 – rocky

相關問題