2013-01-05 1 views
11

Ich habe Azure Container erstellt und auf Privat festgelegt. Die Berechtigung muss auf "Privat" festgelegt werden, da der Inhalt nur für den angemeldeten Benutzer sichtbar ist. Allerdings soll ich den Blob im Tag verwenden. Dies ist nicht möglich, wenn der Container auf Privat festgelegt ist. Gibt es einen Weg dahin? Oder hat jemand anderes das gleiche Problem?Azure Storage - Verwenden Sie Blob aus dem privaten Container in <img> Tag

Alle Codeproben, die ich heruntergeladen habe (PhluffyPhotos, MyPictures) von CodePlex/Code Project setzen den Container immer auf Public (Container/Blob).

Danke!

Antwort

13

Erwägen Sie die Verwendung von Shared Access-Signaturen. Mit diesen Signaturen können Sie Ihrem Benutzer temporären Zugriff auf einen Blob in einem privaten Container gewähren.

Eugenio Pace Artikel beschreibt genau das, was Sie zu tun versuchen: Windows Azure Guidance – Using Shared Key Signatures for images in a-Expense

+0

+1 zu dieser Antwort. Um meine Bilder zu schützen (um zu verhindern, dass sie von anderen Seiten eingefärbt werden) habe ich auf einer meiner Webseiten SAS verwendet. Ich habe einen SAS mit sehr kurzer Zeit (d. H. 5 Sekunden) in meinem Backend-Code generiert und die BLOB-URL mit SAS in meine Ansicht eingefügt (ich benutzte MVC). So kann es auf meiner Webseite gezeigt werden. Andere können diese URL jedoch nicht verwenden, um das Bild abzurufen, seit die SAS abgelaufen ist. –

+0

Es gab Diskussionen zu diesem Thema auch auf MSDN-Forum, aber die Schlussfolgerung ist im Grunde eine der drei Ansätze in der Verknüpfung, die Sandrino gesendet: - 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

können Sie auch den Behälter privat und Ihre Web-App als Proxy verwenden Datei aus dem Container zum Download dann über einen Handler servieren.