コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: FileStore.cs プロジェクト: widewise/AdventureWorks
        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);
        }