如何在img标记中显示存储在Azure文件服务中的图像?

时间:2014-12-07 17:24:16

标签: azure

我开始使用Azure文件服务,而且我有一个'呃'的时刻;我错过了一些明显的东西。

我想出了API,创建了一个共享并从.net API(而不是REST API)上传了一个图像。

网址

http://cooperwrite.file.core.windows.net/cwfiles/me.jpg

是我的照片。我想(但显然是错的)这个网址也是我用来渲染图片的公共网址。

当我尝试访问它时出现错误。我猜这个url用于访问REST API的目的,但是如何获取我要放入标记的url?

此问题有保护问题,但我找不到任何转盘。

谢谢,

约翰

1 个答案:

答案 0 :(得分:4)

简短的回答是,你不能。

基本上,您使用img标记显示图像,您的浏览器应匿名访问该资源。目前,所有对文件服务资源的请求都必须经过授权(使用SharedKeyShareKeyLite授权方案),因此您只能通过指定URL来访问文件服务中的资源。

此时您最好的选择是使用Azure Blob Storage并将文件保存在具有BlobPublic ACL的容器中。如果你的blob容器的ACL是私有的,那么你需要Shared Access Signature (SAS) Read对图像有{{1}}的权限(在这种情况下需要将SAS令牌包含在URL中)才能直接显示在浏览器中。