4

我正在使用 Azure 文件来存储我的 Web 应用程序的文件,我之前在这里提到过。

我目前正在处理目录中的文件/子目录,并输出导航表,以便用户可以导航到子目录,并最终获取所述文件。我正在使用此 Azure 文档文章的“以编程方式访问文件共享”部分中描述的方法来执行此操作。

我的问题很简单,我如何从运行在 Azure 应用程序服务中的 Web 应用程序提供一个公共 URL,以便用户可以下载/查看文件?

请注意,我希望该文件不会自动下载,因为大多数文件都是.PDF,因此可以在浏览器中预览。

4

2 回答 2

7

我的问题很简单,我如何从运行在 Azure 应用程序服务中的 Web 应用程序提供一个公共 URL,以便用户可以下载/查看文件?

一种可能的解决方案是Shared Access Signature (SAS)在至少具有Read权限的文件上创建一个并使用该 SAS URL。根据文件的内容类型,文件的内容将在浏览器中内嵌显示或提示用户下载文件。如果您想强制下载,您始终可以覆盖Content-DispositionSAS 中的响应标头。

于 2015-12-23T02:44:47.230 回答
3

使用共享访问签名 (SAS) 可能是一种解决方案,但在给定的场景中它可能是一种矫枉过正的做法。

在提供的场景中,具有公共访问权限的 Blob 存储是最实用的文件存储方式。从文档:

...您可以指定容器及其 ​​blob 或特定 blob 可用于公共访问。当您指示容器或 blob 是公共的时,任何人都可以匿名读取它;不需要身份验证。公共容器和 blob 可用于公开网站上托管的媒体和文档等资源。若要减少全球受众的网络延迟,可以使用 Azure CDN 缓存网站使用的 blob 数据。

https://azure.microsoft.com/en-us/documentation/articles/storage-introduction/

若要从 Azure 门户设置容器权限,请执行以下步骤:

  1. 导航到存储帐户的仪表板。
  2. 从列表中选择容器名称。单击名称会显示所选容器中的 blob
  3. 从工具栏中选择访问策略。
  4. 在访问类型字段中,选择“Blob”
于 2016-11-08T06:50:00.970 回答