2012-08-02 72 views
0

我正在爲文檔存儲服務創建同步機制。創建存根以編輯office文檔

其基本思想是用戶下載一個存根文件,說somefile.stub包含服務器上的文件的鏈接。

當用戶計算機上的應用程序(與.stub關聯)上單擊存根文件時,打開文件並在後臺從服務器下載文件。

一旦我在本地獲得文件,我想讓窗口在相應的編輯器中打開文件,例如字。 我真的不想保存文件,然後打開文字或任何通過進程和命令行。

此外,我希望能夠抓住文件保存後發送回服務器保持一切同步。

如果可能,我寧願在c#中編寫客戶端應用程序。

回答

0

您必須在客戶端計算機上創建連續運行的服務,該服務應編排存根文件傳輸並打開它們。通過使用ProcessStartInfo.UseShellExecute = true;可以實現打開正確的程序。您還可以使用FileSystemWhatcher在外部應用程序修改文件時收到通知。

+0

爲了清晰起見,我編輯過,我不想保存文件並用命令行打開。 – 2012-08-02 09:53:13

+0

我不是在談論任何命令行,使用Process從shell中執行代碼 – 2012-08-02 10:05:52

0

這裏是一個解決方案:

  1. 創建一個2級WebDAV服務器,並通過它發佈您的MS Office文檔。
  2. 如果你的目標的MS Office 2013,你可以使用下面的鏈接直接從您的WebDAV服務器打開文檔進行編輯:

    MS-字:OFE | U | http://mywebdavserver.com/path/document.docx

這將消除下載/上載步驟,並且將以類似於SharePoint的方式工作。在這種情況下,您也不需要部署任何客戶端應用程序。