public override async Task <bool> DeleteAsync(FileProviderDeleteArgs args) { var fileName = AzureFileNameCalculator.Calculate(args); if (await FileExistsAsync(args, fileName)) { return(await GetBlobClient(args, fileName).DeleteIfExistsAsync()); } return(false); }
public override async Task <bool> DownloadAsync(FileProviderDownloadArgs args) { var fileName = AzureFileNameCalculator.Calculate(args); if (!await FileExistsAsync(args, fileName)) { return(false); } var blobClient = GetBlobClient(args, fileName); var download = await blobClient.DownloadToAsync(args.Path, args.CancellationToken); return(download.Status == (int)HttpStatusCode.OK); }
public override async Task <Stream> GetOrNullAsync(FileProviderGetArgs args) { var fileName = AzureFileNameCalculator.Calculate(args); if (!await FileExistsAsync(args, fileName)) { return(null); } var blobClient = GetBlobClient(args, fileName); var download = await blobClient.DownloadAsync(args.CancellationToken); var memoryStream = new MemoryStream(); await download.Value.Content.CopyToAsync(memoryStream); return(memoryStream); }
public override async Task <string> SaveAsync(FileProviderSaveArgs args) { var fileName = AzureFileNameCalculator.Calculate(args); var configuration = args.Configuration.GetAzureConfiguration(); if (!args.OverrideExisting && await FileExistsAsync(args, fileName)) { throw new FileAlreadyExistsException($"Saving File '{args.FileId}' does already exists in the container '{GetContainerName(args)}'! Set {nameof(args.OverrideExisting)} if it should be overwritten."); } if (configuration.CreateContainerIfNotExists) { await CreateContainerIfNotExists(args); } await GetBlobClient(args, fileName).UploadAsync(args.FileStream, true); return(args.FileId); }
public override async Task <bool> ExistsAsync(FileProviderExistsArgs args) { var fileName = AzureFileNameCalculator.Calculate(args); return(await FileExistsAsync(args, fileName)); }