2011-10-01 64 views
1

我正在爲我的項目開發一個雲應用程序。我想提供在雲上存儲文件並在有效登錄後檢索這些文件的功能。有沒有辦法獲得存儲在雲端的文件鏈接?

我想將實際基於雲的文件的鏈接存儲在數據庫中。 如果我將要使用的雲是Microsoft雲,是否有任何方法可以知道雲上文件的鏈接?

謝謝。

回答

3

當您創建Azure存儲帳戶時,您需要爲其命名。假設你將它命名爲foostorage。那麼如果你要使用下面的代碼上傳一個blob。

string path = "folder" 
string fileName = "file.txt"; 

CloudBlobContainer container = blobClient.GetContainerReference(path); 
var blobContainerPermissions = new BlobContainerPermissions 
    { 
     PublicAccess = BlobContainerPublicAccessType.Container 
    }; 
container.CreateIfNotExist(); 
container.SetPermissions(blobContainerPermissions); 

CloudBlob blob = container.GetBlobReference(fileName);  
blob.UploadText("Text to be saved to blob storage"); 

string blobUri = blob.Uri.AbsoluteUri; 

然後blobUri將獲得價值https://foostorage.blob.core.windows.net/folder/file.txt 請注意,訪問權限設置爲公開。

+0

我認爲通常比blob.Uri.ToString()更好的做blob.Uri.AbsoluteUri。 – smarx

+0

@smarx - 有趣 - 爲什麼?請參閱http://stackoverflow.com/questions/7624987/whats-the-difference-between-uri-tostring-and-uri-absoluteuri –

+0

@smarx我同意。更新了答案。 – vonLochow

2

下面是一個示例,顯示如何將文件存儲在Azure Blob存儲中。

它還檢索文件的URI並將其顯示在網頁上。你可以很容易的做到這一點,並存儲在數據庫中。

http://soumya.wordpress.com/2010/05/19/azure-simplified-part3-using-azure-blob-storage/

BTW,該教程是使用本地存儲的發展被稱爲devfabric這就是爲什麼你看到在URL中的本地地址127.0.0.1。如果你有一個真正的天藍雲帳戶,代碼將是相同的。

希望有所幫助。

相關問題