2011-06-08 147 views
0

我最近開始研究使用Azure,但我遇到了一些問題讓我的文件存儲問題得到解決。從我讀取的圖像需要存儲爲blob,並且無法將它們直接存儲在文件系統中。不幸的是,這需要對我們的CMS進行很多修改,從文件系統獲取所有文件。SQL Azure文件存儲

當檢索圖像以顯示在頁面上時,最佳實踐是什麼?我玩過幾個教程,並創建了一個簡單的應用程序來存儲圖像,然後允許您檢索它們以在瀏覽器中顯示(http://www.codeproject.com/KB/cs/Azue7StepsBlob.aspx),但是,當按下按鈕時檢索圖像,使用Image.FromStream寫出blob流。如果你有一個頁面,裏面有100個圖像,需要100個獨立的數據庫調用,這是存儲和檢索文件的正確方式,還是我完全錯過了一些東西?任何幫助是極大的讚賞。

帕特

回答

2

您提到的示例 - http://www.codeproject.com/KB/cs/Azue7StepsBlob.aspx - 使用Azure Blob存儲。

這與使用SQL文件存儲有所不同 - 它不是SQL,而是專門用於快速,可擴展的HTTP訪問的更簡單的存儲機制。

當檢索圖像以顯示在頁面上時,最佳實踐是什麼?

「推薦的方式」似乎是將Blob存儲URL直接傳遞到瀏覽器 - 瀏覽器可以檢索並顯示圖像 - 您的應用程序不必檢索圖像本身。

根據您的要求,您可以爲blob存儲設置公共讀取訪問權限,也可以設置用於臨時訪問的共享訪問簽名。使用這些機制中的任何一種都將允許瀏覽器使用HTTP從Blob商店直接讀取。

爲了幫助理解這一點,請嘗試這個官方教程 - http://msdn.microsoft.com/en-us/wazplatformtrainingcourse_exploringwindowsazurestoragevs2010_topic3.aspx

而且,看看其他的問題就在這裏像Where to store things like user pictures using Azure? Blob Storage?


也請注意參與的Blob存儲成本 - 存儲成本(通常最小)和訪問成本 - 每10000次訪問成本爲0.01美元 - 這可能聽起來不太多,但如果您在那裏存儲大量小型經常訪問的文件,則可能會變得非常重要。

+0

感謝您的幫助,我認爲設置公開閱讀權限是我需要的關鍵,我已經成功地將圖像保存並檢索到blob存儲,希望很快能夠讓我的頭部多餘! – patg 2011-06-08 16:54:29

+0

:)雖然你在那裏,請確保你有寫入類型的讀取權限 - 你可能會想要「公開讀取blob只讀」在http://msdn.microsoft.com/en-us/library /dd179354.aspx – Stuart 2011-06-08 17:15:29

+0

我已經完成了所有工作,感謝您的幫助。 – patg 2011-06-09 11:39:16

1

你有概念化的Azure平臺,更重要的是,服務器將被上升和下來。

您付出更多的sql azure數據庫的使用,所以最有效的方法來管理圖像是將圖像存儲在azure存儲,並保持一個鍵指向你的SQL Azure數據庫中的圖像。

您可能需要對應用程序的體系結構進行更改,但是在進行這些平臺更改時,您將充分利用Azure的強大功能。