我使用Azure文件存储我的Web应用程序的文件,我之前提到过here。
我目前正在处理目录中的文件/子目录,并输出导航表,以便用户可以导航到子目录,最后获取所述文件。我是通过使用this Azure Documentation article中“以编程方式访问文件共享”部分中描述的方法执行此操作。
我的问题很简单,我怎样才能从我的Web App中获取 在Azure应用服务中运行,用户提供公共网址 可以下载/查看文件吗?
请注意,我希望文件不自动下载,因为大多数文件都是.PDF
,因此可以在浏览器中预览。
答案 0 :(得分:3)
我的问题很简单,我怎样才能从我的Web App中获取 在Azure应用服务中运行,提供用户可以使用的公共URL 下载/查看文件?
一种可能的解决方案是在至少具有Shared Access Signature (SAS)
权限的文件上创建Read
并使用该SAS URL。根据文件的内容类型,文件的内容将在浏览器中内嵌显示,或者提示用户下载文件。如果要强制下载,可以始终覆盖SAS中的Content-Disposition
响应标头。
答案 1 :(得分:3)
使用共享访问签名(SAS)可能是一种解决方案,但在给定方案中可能是一种过度杀伤力。
在提供的方案中,具有公共访问权限的Blob存储是存储文件的最实用方法。来自文档:
...您可以指定容器及其blob或特定blob可用于公共访问。当您指出容器或blob是公共的时,任何人都可以匿名阅读它;无需身份验证。公共容器和blob对于公开托管在网站上的媒体和文档等资源非常有用。要减少全局受众的网络延迟,可以使用Azure CDN缓存网站使用的blob数据。
https://azure.microsoft.com/en-us/documentation/articles/storage-introduction/
要从Azure门户设置容器权限,请按照下列步骤操作: