我正在爲我的項目開發一個雲應用程序。我想提供在雲上存儲文件並在有效登錄後檢索這些文件的功能。有沒有辦法獲得存儲在雲端的文件鏈接?
我想將實際基於雲的文件的鏈接存儲在數據庫中。 如果我將要使用的雲是Microsoft雲,是否有任何方法可以知道雲上文件的鏈接?
謝謝。
我正在爲我的項目開發一個雲應用程序。我想提供在雲上存儲文件並在有效登錄後檢索這些文件的功能。有沒有辦法獲得存儲在雲端的文件鏈接?
我想將實際基於雲的文件的鏈接存儲在數據庫中。 如果我將要使用的雲是Microsoft雲,是否有任何方法可以知道雲上文件的鏈接?
謝謝。
當您創建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 請注意,訪問權限設置爲公開。
下面是一個示例,顯示如何將文件存儲在Azure Blob存儲中。
它還檢索文件的URI並將其顯示在網頁上。你可以很容易的做到這一點,並存儲在數據庫中。
http://soumya.wordpress.com/2010/05/19/azure-simplified-part3-using-azure-blob-storage/
BTW,該教程是使用本地存儲的發展被稱爲devfabric這就是爲什麼你看到在URL中的本地地址127.0.0.1。如果你有一個真正的天藍雲帳戶,代碼將是相同的。
希望有所幫助。
我認爲通常比blob.Uri.ToString()更好的做blob.Uri.AbsoluteUri。 – smarx
@smarx - 有趣 - 爲什麼?請參閱http://stackoverflow.com/questions/7624987/whats-the-difference-between-uri-tostring-and-uri-absoluteuri –
@smarx我同意。更新了答案。 – vonLochow