gpt4 book ai didi

azure - 用于在 Azure 存储中编辑 MS Word 文档的选项

转载 作者:行者123 更新时间:2023-12-04 15:19:11 25 4
gpt4 key购买 nike

这个问题源自 previous question但没有得到答复。

我在 Azure Web 应用程序中需要编辑文档,而不是:-

  1. 下载文件
  2. 在 MS Office Word 中打开下载的文件
  3. 在本地编辑并保存
  4. 单击网络表单上的按钮
  5. 浏览到已编辑的文件,然后单击“确定”上传

客户希望获得与 Sharepoint 类似的体验,即

  1. 点击指向 Word 文档的链接
  2. MS Office Word 在客户端上启动
  3. 他们编辑并保存(在线)文档

我发现的一个解决方案是......

将文档存储在 Azure 文件共享中。创建一个登录脚本,该脚本将在每个 Windows 客户端访问上运行,以设置 Azure 文件共享的用户名和密码...

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

在 html 中使用链接,例如...

<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. 它本质上是不安全的,需要将一组凭据分发给所有需要访问系统的客户端。

有人可以建议替代解决方案吗?

最佳答案

Options for editing MS Word documents in Azure Storage

要在线编辑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

  • 将网络 Hook 添加到您的 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 文件夹已满,请删除该文件夹中的文件。
  • 关于azure - 用于在 Azure 存储中编辑 MS Word 文档的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42521958/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com