在Azure存储中编辑MS Word文档的选项



这个问题来自以前没有解决的问题。

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

  1. 下载文件
  2. 在MS Office Word中打开下载的文件
  3. 编辑并保存本地
  4. 单击Web表单上的按钮
  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. 它本质上是不安全的,需要将一组凭据分配给所有需要访问系统的客户。

任何人都可以建议替代解决方案吗?

在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"

有关更多信息,以下链接是您的参考。

简单的项目使用put

上传到OneDrive
  1. 将Web挂钩添加到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-添加新订阅

  1. 如果文件夹已满,请从OneDrive文件夹中删除文件。

相关内容

  • 没有找到相关文章

最新更新