private CloudBlockBlob CreateCloudBlockBlob(CloudStorageFileUpload file) { if (string.IsNullOrWhiteSpace(Settings.AzureStorageAccountConnectionString)) { throw new ArgumentException("Storage account connection string not set in web.config! (key=AzureStorageAccount)"); } CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(Settings.AzureStorageAccountConnectionString); CloudBlobClient cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient(); var cloudBlobContainer = cloudBlobClient.GetContainerReference(ContainerName); cloudBlobContainer.CreateIfNotExists(BlobContainerPublicAccessType.Off); string fileId = string.Format("{0}{1}", Guid.NewGuid().ToString(), Path.GetExtension(file.RealFileName)); CloudBlockBlob cloudblob = cloudBlobContainer.GetBlockBlobReference(fileId); cloudblob.Properties.ContentType = file.ContentType; cloudblob.Metadata["filename"] = file.RealFileName; cloudblob.Metadata["length"] = file.SizeInBytes.ToString(); _log.Info("Create CloudBlockBlob...Filename={0};FileId={1};Container={2}", file.RealFileName, fileId, cloudBlobContainer.Uri); return(cloudblob); }
// Lab --------------------------------------------------------------------------------------------------------------- public async Task <CloudStorageFileUploadResult> UploadAsync(CloudStorageFileUpload file) { if (file == null) { throw new ArgumentNullException(nameof(file)); } return(await Task.FromResult(new CloudStorageFileUploadResult())); }