Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }
Пример #5
0
        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()));
        }
Пример #6
0
        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));
        }
Пример #7
0
        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));
        }
Пример #8
0
        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));
        }
Пример #9
0
 public override Task <string> GetAccessUrlAsync(FileProviderAccessArgs args)
 {
     return(Task.FromResult(string.Empty));
 }
Пример #10
0
 public Task <string> GetAccessUrlAsync(FileProviderAccessArgs args)
 {
     throw new NotImplementedException();
 }