2013-01-05 16 views
11

我创建Azure容器并将其设置为Private。该权限必须设置为“私人”,因为内容仅对登录用户可见。不过,我打算在标签中使用blob。当Container被设置为Private时,这是不可能的。有没有解决的办法?或者有其他人遇到同样的问题?Azure存储 - 在私有容器中使用Blob <img>标记

我从CodePlex/Code Project下载的所有代码示例(PhluffyPhotos,MyPictures)总是将容器设置为Public(Container/Blob)。

谢谢!

回答

13

考虑使用共享访问签名。通过这些签名,您可以让您的用户临时访问私人容器中的Blob。

欧亨尼奥·佩斯的文章解释了你想该怎么做:Windows Azure Guidance – Using Shared Key Signatures for images in a-Expense

+0

对此答案+1。在我的一个网站上,为了保护我的图像(防止他们被其他网站签名),我使用了SAS。我在后端代码中用很短的时间(即5秒)生成了SAS,并将SAS的BLOB URL添加到了我的视图中(我使用的是MVC)。所以它可以显示在我的网页上。但其他人不能使用此URL来检索图像,因为SAS已过期。 –

+0

在MSDN论坛上也有关于此事的讨论,但结论基本上是使用Sandrino发送的三种方法之一: - http://social.msdn.microsoft.com/Forums/en-US/windowsazuredata/thread/dbfb9d13-d463-4461-b51f-466261617cb7 - http://social.msdn.microsoft.com/Forums/en-US/windowsazuredata/thread/6b4ff906-c303-44b5-8b94-153e4edae201 – stack247

0

您还可以设置容器私人和使用您的Web应用程序作为代理,以从容器中下载文件,然后通过处理程序为它服务。