2016-03-06 87 views
1

Azure的BLOB內容我有一個存儲在Azure中的Blob一個HTML文件,然後我試圖呈現在網頁視圖元素在我的Android應用程序。我用擴展名html保存了我的文件 - 並且可以在門戶中看到文件的類型爲text/html,在我的應用程序中,我獲取blob的url並將它傳遞給webView.loadURL(<blob's url>)。但是我在模擬器中收到了錯誤信息"Resource not found"渲染android系統中的WebView

即使是支持的操作,也會在webView中渲染blob內容,或者我應該只使用blob.OpenInputStream()來讀取blob中的內容並顯示它?

+0

您可以檢查blob所在容器的ACL嗎?它不應該是'私人'。 –

+0

如果我希望它是私人的,我不需要公開地訪問該blob。這就是爲什麼我在連接字符串中輸入存儲密鑰的原因。還是我錯誤地理解了ACL的基本原理? – Julyflowers

+0

所以你正確理解ACL「基礎」:)。在這種情況下,您需要做的是創建至少具有讀取權限的共享訪問簽名,並使用該SAS URL而不是Blob URL。 –

回答

1

如果您希望通過指定只是它的URL顯示Blob的內容,有兩種方法,你可以去了解它:

  1. 更改容器ACL:你需要改變的ACL斑點容器保持團塊要麼BlobContainer。這樣就可以使用它的URL匿名訪問blob。
  2. 使用共享訪問簽名:如果要將容器的ACL保留爲Private,那麼其他選項將使用Shared Access Signature (SAS)。 SAS對存儲資源(Blob,Table,Queue,File等)提供時間限制的權限。在你的情況,你需要創建一個SAS至少Read權限。一旦你獲得了SAS,你只需要把它添加到您的blob的網址,你應該能夠從私營集裝箱訪問團塊。有關SAS的更多詳細信息,請參閱此鏈接:https://azure.microsoft.com/en-in/documentation/articles/storage-dotnet-shared-access-signature-part-1/