diff --git a/AdminUI/LearningHub.Nhs.AdminUI/Services/MKIOMediaService.cs b/AdminUI/LearningHub.Nhs.AdminUI/Services/MKIOMediaService.cs index fb1860afd..dc44a6959 100644 --- a/AdminUI/LearningHub.Nhs.AdminUI/Services/MKIOMediaService.cs +++ b/AdminUI/LearningHub.Nhs.AdminUI/Services/MKIOMediaService.cs @@ -91,19 +91,21 @@ public async Task CreateMediaInputAsset(IFormFile file) /// . public async Task DownloadMediaInputAsset(string inputAssetName, string fileName) { - IAzureMediaServicesClient client = await this.CreateMediaServicesClientAsync(); + var client = this.GetMKIOServicesClientAsync(); + var assets = client.Assets.Get(inputAssetName); + + BlobServiceClient blobServiceClient = new BlobServiceClient(this.settings.MediaKindSettings.MediaKindStorageConnectionString); - AssetContainerSas assetContainerSas = await client.Assets.ListContainerSasAsync( - this.settings.AzureMediaResourceGroup, - this.settings.AzureMediaAccountName, - inputAssetName, - permissions: AssetContainerPermission.Read, - expiryTime: DateTime.UtcNow.AddHours(1).ToUniversalTime()); + BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(assets.Properties.Container); + if (!await containerClient.ExistsAsync().ConfigureAwait(false)) + { + await containerClient.CreateIfNotExistsAsync().ConfigureAwait(false); + } - string sasUri = assetContainerSas.AssetContainerSasUrls.First(); + var filename1 = Regex.Replace(fileName, "[^a-zA-Z0-9.]", string.Empty); + filename1 = string.IsNullOrEmpty(filename1) ? "file.txt" : filename1; - var blobServiceClient = new BlobContainerClient(new Uri(sasUri)); - var blobClient = blobServiceClient.GetBlockBlobClient(fileName); + BlobClient blobClient = containerClient.GetBlobClient(filename1); var fileContent = await blobClient.DownloadContentAsync(); return fileContent;