public async Task <string> Save(string fileName, Stream fileStream) { var blobClient = _account.CreateCloudBlobClient(); var cloudBlobContainer = blobClient.GetContainerReference(_settings.BlobContainerName.ToLower()); await cloudBlobContainer.CreateIfNotExistsAsync(); var queueClient = _account.CreateCloudQueueClient(); var queue = queueClient.GetQueueReference(_settings.QueueName.ToLower()); await queue.CreateIfNotExistsAsync(); var fileBlob = cloudBlobContainer.GetBlockBlobReference(fileName); await fileBlob.UploadFromStreamAsync(fileStream); var azureFileName = $"{blobClient.BaseUri}{cloudBlobContainer.Name}/{fileName}"; var notification = FileNotificationFactory.Create(fileName, azureFileName); var serializer = new JsonSerializer(); var stringWriter = new StringWriter(); serializer.Serialize(stringWriter, notification); CloudQueueMessage message = new CloudQueueMessage(stringWriter.ToString()); await queue.AddMessageAsync(message); return(azureFileName); }
public async Task <string> Save(string fileName, Stream fileStream) { var fileBlob = _filesBlobContainer.GetBlockBlobReference(fileName); await fileBlob.UploadFromStreamAsync(fileStream); var azureFileName = $"{_blobClient.BaseUri}{_filesBlobContainer.Name}/{fileName}"; var notification = FileNotificationFactory.Create(fileName, azureFileName); var serializer = new JsonSerializer(); var stringWriter = new StringWriter(); serializer.Serialize(stringWriter, notification); CloudQueueMessage message = new CloudQueueMessage(stringWriter.ToString()); await _queue.AddMessageAsync(message); return(azureFileName); }