azure container ( blob) .
Pls PLS , blob
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Web;
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Auth;
using Microsoft.WindowsAzure.Storage.Blob;
namespace XXXXXXXXXXX
{
public class Blob
{
private CloudBlobContainer Prerequisite(string userId)
{
var con = ConfigurationManager.AppSettings["StorageConnectionString"];
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
con);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(userId);
return container;
}
public void CreateUserContainerIfNotExisting(string userId)
{
CloudBlobContainer container = Prerequisite(userId);
container.CreateIfNotExists();
container.SetPermissions(
new BlobContainerPermissions
{
PublicAccess =
BlobContainerPublicAccessType.Blob
});
}
public void ReadFileInBlob(string userId)
{
CloudBlobContainer container = Prerequisite(userId);
foreach (IListBlobItem item in container.ListBlobs(null, true))
{
if (item.GetType() == typeof(CloudBlockBlob))
{
CloudBlockBlob blob = (CloudBlockBlob)item;
Console.WriteLine("Block blob of length {0}: {1}", blob.Properties.Length, blob.Uri);
}
else if (item.GetType() == typeof(CloudPageBlob))
{
CloudPageBlob pageBlob = (CloudPageBlob)item;
Console.WriteLine("Page blob of length {0}: {1}", pageBlob.Properties.Length, pageBlob.Uri);
}
else if (item.GetType() == typeof(CloudBlobDirectory))
{
CloudBlobDirectory directory = (CloudBlobDirectory)item;
Console.WriteLine("Directory: {0}", directory.Uri);
}
}
}
public CloudBlockBlob AddOrModifyItemToBlob(string userId, string itemKey)
{
CloudBlobContainer container = Prerequisite(userId);
CloudBlockBlob blockBlob = container.GetBlockBlobReference(itemKey);
return blockBlob;
}
public void DownloadToFolderLocation(string userId, string itemKey, string location)
{
CloudBlobContainer container = Prerequisite(userId);
CloudBlockBlob blockBlob = container.GetBlockBlobReference(itemKey);
using (var fileStream = System.IO.File.OpenWrite(location))
{
blockBlob.DownloadToStream(fileStream);
}
}
public string DownloadAsStream(string userId, string itemKey)
{
CloudBlobContainer container = Prerequisite(userId);
CloudBlockBlob blockBlob2 = container.GetBlockBlobReference(itemKey);
string text;
using (var memoryStream = new MemoryStream())
{
blockBlob2.DownloadToStream(memoryStream);
text = System.Text.Encoding.UTF8.GetString(memoryStream.ToArray());
}
return text;
}
public void DeleteBlobFile(string userId, string itemKey)
{
CloudBlobContainer container = Prerequisite(userId);
CloudBlockBlob blockBlob = container.GetBlockBlobReference(itemKey);
blockBlob.Delete();
}
}
}