【问题标题】:Download azure blob storage file in angular以角度下载azure blob存储文件
【发布时间】:2017-03-01 10:05:55
【问题描述】:

有没有办法从 Angular 的 Azure Blob 存储中下载 wav 文件? 我想用 wavesurfer.js 玩它

【问题讨论】:

  • 对于想要基于 API 的方法(启用权限检查等)的搜索者,我创建了一个 GitHub Gist

标签: angularjs azure-blob-storage wavesurfer.js


【解决方案1】:

基本上,您可以通过 Blob URL 直接访问 wav 文件。

例如,您可以使用可从here 下载的 Azure 存储资源管理器来生成 SAS(共享访问签名)并获取 Blob URI。

一旦你得到了 Bolb 的 URI,你就可以像这样用 wavesurfer.js 玩它:

wavesurfer.load('https://<StorageAccountName>.blob.core.windows.net/<ContainerName>/<WavFileName><QueryString>');

编辑:

在不使用任何查询字符串的情况下访问您的 blob 的最简单方法是将容器权限设置为允许公共访问。然后它将在 URL 上可用(这里我假设您的 blob 文件名为 audio.wav):

https://<StorageAccountName>.blob.core.windows.net/<ContainerName>/audio.wav

要从Azure portal 设置容器权限,请按照以下步骤操作 步骤:

  1. 导航到您的存储帐户的仪表板。
  2. 从列表中选择容器名称。单击显示所选容器中 Blob 的名称。
  3. 从工具栏中选择访问策略
  4. 访问类型字段中,选择所需的权限级别,如下面的屏幕截图所示。

详情请见Azure's documentation

【讨论】:

  • 但是我需要为每个要下载的文件使用不同的查询字符串吗?我找到了这个关于如何定义 blob url 的示例:myaccount.blob.core.windows.net/sascontainer/…。我的 Blob 容器只有一个 Azure 访问密钥
  • 我阅读了不同的方法来做到这一点,并且到处都说您可以使用 SAS,正如您所解释的,或者您可以使用存储帐户名称和密钥来完成。问题是:我该怎么做必须使用这些参数才能从 blob 中获取 wav 文件?
猜你喜欢
  • 2021-12-08
  • 2015-08-22
  • 2020-08-08
  • 2015-06-20
  • 2012-12-08
  • 2022-01-26
  • 2018-04-25
相关资源
最近更新 更多