public override Task <string> GetAccessUrlAsync(FileProviderAccessArgs args) { if (!args.Configuration.HttpAccess) { return(Task.FromResult(string.Empty)); } var fileName = FileNameCalculator.Calculate(args); var client = GetS3Client(args); var containerName = GetContainerName(args); var configuration = args.Configuration.GetS3Configuration(); var preSignedUrlRequest = new GetPreSignedUrlRequest() { BucketName = containerName, Key = fileName, Protocol = (Protocol)configuration.Protocol }; preSignedUrlRequest.Expires = args.Expires ?? Clock.Now.AddSeconds(600); var accessUrl = client.GetPreSignedURL(preSignedUrlRequest); return(Task.FromResult(accessUrl)); }
public override async Task <string> GetAccessUrlAsync(FileProviderAccessArgs args) { var container = await DatabaseFileContainerRepository.FindAsync( args.ContainerName, args.CancellationToken ); if (container == null) { return(string.Empty); } if (!container.HttpSupport) { return(string.Empty); } var file = await DatabaseFileRepository.FindAsync( container.Id, args.FileId, args.CancellationToken); if (file == null) { return(string.Empty); } return(BuildAccessUrl(container, file.Name)); }
public override async Task <string> GetAccessUrlAsync(FileProviderAccessArgs args) { var fileName = MinioFileNameCalculator.Calculate(args); var client = GetMinioClient(args); var containerName = GetContainerName(args); if (!await FileExistsAsync(client, containerName, fileName)) { return(string.Empty); } return(await client.PresignedGetObjectAsync(containerName, fileName, args.Expires?.Second ?? 3600)); }
public override Task <string> GetAccessUrlAsync(FileProviderAccessArgs args) { if (!args.Configuration.HttpAccess) { return(Task.FromResult(string.Empty)); } var configuration = args.Configuration.GetFileSystemConfiguration(); var fileId = FilePathCalculator.Calculate(args); var accessUrl = BuildAccessUrl(configuration, fileId); return(Task.FromResult(accessUrl)); }
public override Task <string> GetAccessUrlAsync(FileProviderAccessArgs args) { var containerName = GetContainerName(args); var fileName = AliyunFileNameCalculator.Calculate(args); var ossClient = GetOssClient(args.Configuration); if (!FileExistsAsync(ossClient, containerName, fileName)) { return(Task.FromResult(string.Empty)); } var datetime = args.Expires ?? Clock.Now.AddSeconds(3600); var uri = ossClient.GeneratePresignedUri(containerName, fileName, datetime); return(Task.FromResult(uri.ToString())); }
public override Task <string> GetAccessUrlAsync(FileProviderAccessArgs args) { if (!args.Configuration.HttpAccess) { return(Task.FromResult(string.Empty)); } var configuration = args.Configuration.GetFastDFSConfiguration(); ConfigurationFactory.AddIfNotContains(configuration); var fileId = FileNameCalculator.Calculate(args); var containerName = GetContainerName(configuration, args); var accessUrl = BuildAccessUrl(configuration, containerName, fileId); return(Task.FromResult(accessUrl)); }
public override async Task <string> GetAccessUrlAsync(FileProviderAccessArgs args) { if (!args.Configuration.HttpAccess) { return(string.Empty); } var fileName = MinioFileNameCalculator.Calculate(args); var client = GetMinioClient(args); var containerName = GetContainerName(args); if (!await FileExistsAsync(client, containerName, fileName)) { return(string.Empty); } var expiresInt = 600; if (args.Expires.HasValue && args.Expires > Clock.Now) { expiresInt = Convert.ToInt32((args.Expires.Value - Clock.Now).TotalSeconds); } return(await client.PresignedGetObjectAsync(containerName, fileName, expiresInt)); }
public override Task <string> GetAccessUrlAsync(FileProviderAccessArgs args) { var fileName = S3FileNameCalculator.Calculate(args); var client = GetS3Client(args); var containerName = GetContainerName(args); var configuration = args.Configuration.GetS3Configuration(); var preSignedUrlRequest = new GetPreSignedUrlRequest() { BucketName = containerName, Key = fileName, Protocol = (Protocol)configuration.Protocol }; if (args.Expires.HasValue) { preSignedUrlRequest.Expires = args.Expires.Value; } var accessUrl = client.GetPreSignedURL(preSignedUrlRequest); return(Task.FromResult(accessUrl)); }
public override Task <string> GetAccessUrlAsync(FileProviderAccessArgs args) { return(Task.FromResult(string.Empty)); }
public Task <string> GetAccessUrlAsync(FileProviderAccessArgs args) { throw new NotImplementedException(); }