2017-03-01 125 views
2

接下來的問題來自previous question,但未得到答覆。用於在Azure存儲中編輯MS Word文檔的選項

我有在Azure中的Web應用程序的要求來編輯文檔,而不是: -

  1. 下載文件
  2. 公開賽在MS Office Word中下載的文件
  3. 編輯和保存在本地
  4. 點擊Web表單上的按鈕
  5. 瀏覽到編輯的文件,然後單擊OK(確定)上傳

客戶想類似於在SharePoint即

  1. 得到什麼經驗單擊鏈接到Word文檔
  2. MS Office Word中啓動客戶端
  3. 他們編輯並保存(在線)文件

一個解決方案,我發現是...

存放在Azure的文件共享文檔。創造條件,對每個Windows客戶端訪問設置用戶名和Azure的文件共享密碼運行登錄腳本....在HTML類似

cmdkey /add:<storage_account>.file.core.windows.net /user:AZURE\<storage_account> /pass:<storage_account_key> 

使用鏈接...

<a href='file://///<storage_account>.file.core.windows.net/<storage_container>/test.docx'>Test.doc</a> 

這有很多問題。

  1. 這不是一個跨瀏覽器的解決方案。雖然此鏈接將啓動MS Office Word並在Firefox和Internet Explorer中成功加載文檔,但它在Chrome(下載文件)和Edge(根本不處理它)中不起作用。
  2. 它本質上是不安全的,需要將一組憑證分發給所有需要訪問系統的客戶端。

任何人都可以提出替代解決方案嗎?

+0

誰甚至沒有禮貌解釋爲什麼投了一個問題的人... – Mick

回答

2

選項在Azure存儲編輯MS Word文檔

進行在線編輯MS Word文件,即保存Word文檔OneDrive是一個不錯的選擇。 OneDrive將爲我們上傳的文件提供鏈接,並且我們可以根據此鏈接查看和編輯文件。

這裏是詳細的步驟。

  1. 閱讀您要從Azure存儲編輯的MS Word文檔。
  2. 使用OneDrive API將此文檔保存到OneDrive文件夾,並從響應中獲取鏈接。這是我用來將文件上傳到OneDrive的HTTP請求消息。
PUT https://graph.microsoft.com/v1.0/drive/root:/Documents/{filename}.docx:/content HTTP/1.1 
Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document 
Authorization: Bearer {your token} 
Accept: application/json 
Host: graph.microsoft.com 
Expect: 100-continue 
Connection: Keep-Alive 

Put your file content here 

我們可以得到的鏈接,從響應JSON對象的WEBURL屬性的文件。它是這樣的,

"webUrl": "https://1drv.ms/w/s!AI164yLtIBq0gSA" 

欲瞭解更多信息,下面的鏈接供您參考。

Simple item upload to OneDrive using PUT

  • 添加網絡掛接到您的OneDrive文件夾。如果有人在線編輯文件,則會向您的方法發送一條消息,您可以下載更新的文件並保存到Azure存儲。下面是一個示例HTTP請求消息
  • POST /subscriptions 
    Content-Type: application/json 
    
    { 
    "notificationUrl": "https://xxxx.azurewebsites.net/api/webhook-receiver", 
    "expirationDateTime": "2018-01-01T11:23:00.000Z", 
    "resource": "/me/drive/root", 
    "changeType": "updated", 
    "clientState": "client-specific string" 
    } 
    

    有關詳細信息,下面鏈接是供參考。

    WebHooks - Adding a new subscription

  • 從OneDrive文件夾中刪除文件,如果該文件夾已滿。
  • +0

    感謝一個很好的方法。 – Mick

    +0

    你有沒有試過我的建議?如果我的回覆對您有幫助,請將其標記爲答案。謝謝。 – Amor