private static CloudBlockBlob InitializeForUpload(StorageInformation storageInformation) { var blobClient = InitializeAzureConnection(storageInformation); var container = GetContainer(blobClient, storageInformation.ContainerName); return(GetCloudBlockBlob(container)); }
/// <summary> /// Get all file name from your Azure storage /// </summary> /// <param name="storageInformation"></param> /// <returns>retrun list of file name</returns> public static List <string> GetFilesName(StorageInformation storageInformation) { var blobClient = InitializeAzureConnection(storageInformation); var container = GetContainer(blobClient, storageInformation.ContainerName); return(container.ListBlobs().Select(blobItem => blobItem.Uri.ToString().Substring(blobItem.Uri.ToString().LastIndexOf('/') + 1)).ToList()); }
private static CloudBlobClient InitializeAzureConnection(StorageInformation storageInformation) { var storageCredential = new StorageCredentials(storageInformation.AccountName, storageInformation.KeyValue); var storageAccount = new CloudStorageAccount(storageCredential, true); return(storageAccount.CreateCloudBlobClient()); }
public static void DeleteFile(string nameFile, StorageInformation storageInformation) { var blobClient = InitializeAzureConnection(storageInformation); var container = GetContainer(blobClient, storageInformation.ContainerName); var file = container.GetBlockBlobReference(nameFile); file.DeleteIfExists(); }
/// <summary> /// Upload file from stream to Azure /// </summary> /// <param name="file"></param> /// <param name="storageInformation"></param> /// <returns>return the real name of your file on Azure (guid)</returns> public static string UploadOnAzure(Stream file, StorageInformation storageInformation) { var binary = new BinaryReader(file); var binData = binary.ReadBytes((int)file.Length); var blob = InitializeForUpload(storageInformation); blob.UploadFromByteArray(binData, 0, binData.Length); return(blob.Name); }
/// <summary> /// Upload file from disk to Azure /// </summary> /// <param name="path"></param> /// <param name="storageInformation"></param> /// <returns></returns> public static string UploadOnAzure(string path, StorageInformation storageInformation) { using (var fileStream = File.OpenRead(path)) { var blob = InitializeForUpload(storageInformation); blob.UploadFromStream(fileStream); return(blob.Name); } }
public static void DeleteAllFile(StorageInformation storageInformation) { var fileList = FileStorage.GetFilesName(storageInformation); foreach (string fileName in fileList) { FileStorage.DeleteFile(fileName, storageInformation); } }
public static FileStreamResult DownloadFile(string nameFile, string realName, string contentType, StorageInformation storageInformation) { var blobClient = InitializeAzureConnection(storageInformation); var container = GetContainer(blobClient, storageInformation.ContainerName); var file = container.GetBlockBlobReference(nameFile); var stream = new MemoryStream { Position = 0 }; file.DownloadToStream(stream); var result = new FileStreamResult(stream, contentType); stream.Position = 0; HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(realName, Encoding.UTF8)); return(result); }