public override async Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { var blobName = MinioBlobNameCalculator.Calculate(args); var client = GetMinioClient(args); var containerName = GetContainerName(args); if (!await BlobExistsAsync(client, containerName, blobName)) { return(null); } var memoryStream = new MemoryStream(); await client.GetObjectAsync(containerName, blobName, (stream) => { if (stream != null) { stream.CopyTo(memoryStream); memoryStream.Seek(0, SeekOrigin.Begin); } else { memoryStream = null; } }); return(memoryStream); }
public override async Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { var container = await DatabaseBlobContainerRepository.FindAsync( args.ContainerName, args.CancellationToken ); if (container == null) { return(null); } var blob = await DatabaseBlobRepository.FindAsync( container.Id, args.BlobName, args.CancellationToken ); if (blob == null) { return(null); } return(new MemoryStream(blob.Content)); }
public override Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { var filePath = FilePathCalculator.Calculate(args); if (!File.Exists(filePath)) { return(Task.FromResult <Stream>(null)); } return(Task.FromResult <Stream>(File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.Read))); }
public override async Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { var blobName = TencentCloudBlobNameCalculator.Calculate(args); var containerName = GetContainerName(args); var client = GetClient(args); if (!await client.CheckObjectIsExistAsync(containerName, blobName)) { return(null); } return(await client.DownloadObjectAsync(containerName, blobName)); }
public override async Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { var containerName = GetContainerName(args); var blobName = AliyunBlobNameCalculator.Calculate(args); var ossClient = GetOssClient(args.Configuration); if (!BlobExists(ossClient, containerName, blobName)) { return(null); } var result = ossClient.GetObject(containerName, blobName); return(await TryCopyToMemoryStreamAsync(result.Content, args.CancellationToken)); }
public override async Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { var blobName = AzureBlobNameCalculator.Calculate(args); if (!await BlobExistsAsync(args, blobName)) { return(null); } var blobClient = GetBlobClient(args, blobName); var download = await blobClient.DownloadAsync(); return(await TryCopyToMemoryStreamAsync(download.Value.Content, args.CancellationToken)); }
public override async Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { var blobName = BlobNameCalculator.Calculate(args); if (!await BlobExistsAsync(args, blobName)) { return(null); } var result = GetClient(args).GetObject(new GetObjectBytesRequest(args.ContainerName, blobName)); var memoryStream = new MemoryStream(); await memoryStream.WriteAsync(result.content, 0, result.content.Length); return(memoryStream); }
public async override Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { var containerName = GetContainerName(args); var blobName = AliyunBlobNameCalculator.Calculate(args); var ossClient = GetOssClient(args.Configuration); if (!BlobExists(ossClient, containerName, blobName)) { return(null); } var result = ossClient.GetObject(containerName, blobName); var memoryStream = new MemoryStream(); await result.Content.CopyToAsync(memoryStream); return(memoryStream); }
public override async Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { var blobName = AliyunBlobNameCalculator.Calculate(args); if (!await BlobExistsAsync(args, blobName)) { return(null); } var ossClient = GetOssClient(args); var ossObject = ossClient.GetObject(GetBucketName(args), blobName); var memoryStream = new MemoryStream(); await ossObject.Content.CopyToAsync(memoryStream); return(memoryStream); }
public override async Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { var blobName = AzureBlobNameCalculator.Calculate(args); if (!await BlobExistsAsync(args, blobName)) { return(null); } var blobClient = GetBlobClient(args, blobName); var download = await blobClient.DownloadAsync(); var memoryStream = new MemoryStream(); await download.Value.Content.CopyToAsync(memoryStream); return(memoryStream); }
public override async Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { var filePath = FilePathCalculator.Calculate(args); if (!File.Exists(filePath)) { return(null); } return(await Policy.Handle <IOException>() .WaitAndRetryAsync(2, retryCount => TimeSpan.FromSeconds(retryCount)) .ExecuteAsync(async() => { using (var fileStream = File.OpenRead(filePath)) { return await TryCopyToMemoryStreamAsync(fileStream, args.CancellationToken); } })); }
public override async Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { var blobName = MinioBlobNameCalculator.Calculate(args); var client = GetMinioClient(args); var containerName = GetContainerName(args); if (!await BlobExistsAsync(client, containerName, blobName)) { return(null); } Stream blobStream = null; await client.GetObjectAsync(containerName, blobName, (stream) => { blobStream = stream; }); return(await TryCopyToMemoryStreamAsync(blobStream, args.CancellationToken)); }
public override async Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { var blobName = AwsBlobNameCalculator.Calculate(args); var containerName = GetContainerName(args); using (var amazonS3Client = await GetAmazonS3Client(args)) { if (!await BlobExistsAsync(amazonS3Client, containerName, blobName)) { return(null); } var response = await amazonS3Client.GetObjectAsync(new GetObjectRequest { BucketName = containerName, Key = blobName }); return(await TryCopyToMemoryStreamAsync(response.ResponseStream, args.CancellationToken)); } }
public async override Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { var blobName = AwsBlobNameCalculator.Calculate(args); var containerName = GetContainerName(args); using (var amazonS3Client = await GetAmazonS3Client(args)) { if (!await BlobExistsAsync(amazonS3Client, containerName, blobName)) { return(null); } var response = await amazonS3Client.GetObjectAsync(new GetObjectRequest { BucketName = containerName, Key = blobName }); var memoryStream = new MemoryStream(); await response.ResponseStream.CopyToAsync(memoryStream); return(memoryStream); } }
public virtual Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { throw new System.NotImplementedException(); }
public override Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { throw new NotImplementedException(); }
public override Task <Stream> GetOrNullAsync(BlobProviderGetArgs args) { //TODO... return(null); }
public abstract Task <Stream> GetOrNullAsync(BlobProviderGetArgs args);