public async Task UploadStringAsync( string containerName, string path, string stringToUpload, IBlobContainer.UploadStringCompression compression = IBlobContainer.UploadStringCompression.None) { var account = CloudStorageAccount.Parse(this.storage); var serviceClient = account.CreateCloudBlobClient(); var container = serviceClient.GetContainerReference(containerName); await container.CreateIfNotExistsAsync(); var blob = container.GetBlockBlobReference(path); if (compression == IBlobContainer.UploadStringCompression.GZip) { await this.CompressAndUpload(stringToUpload, blob); } else { await blob.UploadTextAsync(stringToUpload); } }
public async Task <string> ReadBlobAsStringAsync(string containerName, string path, IBlobContainer.UploadStringCompression compression) { var account = CloudStorageAccount.Parse(this.storage); var serviceClient = account.CreateCloudBlobClient(); var container = serviceClient.GetContainerReference(containerName); var blob = container.GetBlockBlobReference(path); var readStream = await blob.OpenReadAsync(); if (compression == IBlobContainer.UploadStringCompression.None) { var streamReader = new StreamReader(readStream); var result = await streamReader.ReadToEndAsync(); return(result); } var outputBytes = new byte[readStream.Length]; await readStream.ReadAsync(outputBytes); var decompressedString = Decompress(outputBytes); return(decompressedString); }