protected virtual void CheckFileQuantity(int count, FileContainerConfiguration configuration) { if (count > configuration.MaxFileQuantityForEachUpload) { throw new UploadQuantityExceededLimitException(count, configuration.MaxFileQuantityForEachUpload); } }
protected virtual void CheckFileName(string fileName, FileContainerConfiguration configuration) { if (fileName.Contains(FileManagementConsts.DirectorySeparator)) { throw new FileNameContainsSeparatorException(fileName, FileManagementConsts.DirectorySeparator); } }
public virtual FileContainerConfiguration ToConfiguration(FileStoringContainer container) { var fileProviderConfiguration = Options.Providers.GetConfiguration(container.Provider); Check.NotNull(fileProviderConfiguration, nameof(fileProviderConfiguration)); var configuration = new FileContainerConfiguration() { Provider = fileProviderConfiguration.Provider, IsMultiTenant = container.IsMultiTenant, HttpAccess = container.HttpAccess }; foreach (var item in container.Items) { var type = fileProviderConfiguration.GetValue(item.Name).Type; var value = TypeHelper.ConvertFromString(type, item.Value); configuration.SetConfiguration(item.Name, value); } foreach (var namingNormalizer in fileProviderConfiguration.DefaultNamingNormalizers) { configuration.NamingNormalizers.Add(namingNormalizer); } return(configuration); }
protected virtual bool IsFileExtensionAllowed(string ext, FileContainerConfiguration configuration) { if (!configuration.FileExtensionsConfiguration.ContainsKey(ext)) { return(!configuration.AllowOnlyConfiguredFileExtensions); } return(configuration.FileExtensionsConfiguration[ext]); }
public static FileContainerConfiguration UseMinio( this FileContainerConfiguration containerConfiguration, Action <MinioFileProviderConfiguration> minioConfigureAction) { containerConfiguration.Provider = MinioFileProviderConfigurationNames.ProviderName; containerConfiguration.NamingNormalizers.TryAdd <MinioFileNamingNormalizer>(); minioConfigureAction(new MinioFileProviderConfiguration(containerConfiguration)); return(containerConfiguration); }
public static FileContainerConfiguration UseAliyun( this FileContainerConfiguration containerConfiguration, Action <AliyunFileProviderConfiguration> aliyunConfigureAction) { containerConfiguration.Provider = AliyunFileProviderConfigurationNames.ProviderName; containerConfiguration.NamingNormalizers.TryAdd <AliyunFileNamingNormalizer>(); aliyunConfigureAction(new AliyunFileProviderConfiguration(containerConfiguration)); return(containerConfiguration); }
public static FileContainerConfiguration UseFileSystem( this FileContainerConfiguration containerConfiguration, Action <FileSystemFileProviderConfiguration> fileSystemConfigureAction) { containerConfiguration.Provider = FileSystemFileProviderConfigurationNames.ProviderName; containerConfiguration.NamingNormalizers.TryAdd <FileSystemFileNamingNormalizer>(); fileSystemConfigureAction(new FileSystemFileProviderConfiguration(containerConfiguration)); return(containerConfiguration); }
protected virtual Task SetFailIfUserIsNotPersonalContainerOwnerAsync(FileContainerConfiguration configuration, AuthorizationHandlerContext context, FileOperationInfoModel resource) { if (configuration.FileContainerType == FileContainerType.Private && resource.OwnerUserId != context.User.FindUserId()) { context.Fail(); } return(Task.CompletedTask); }
public static FileContainerConfiguration UseFastDFS( this FileContainerConfiguration containerConfiguration, Action <FastDFSFileProviderConfiguration> fastDFSConfigureAction) { containerConfiguration.Provider = FastDFSFileProviderConfigurationNames.ProviderName; containerConfiguration.NamingNormalizers.TryAdd <FastDFSFileNamingNormalizer>(); fastDFSConfigureAction(new FastDFSFileProviderConfiguration(containerConfiguration)); return(containerConfiguration); }
public static FileContainerConfiguration UseS3( this FileContainerConfiguration containerConfiguration, Action <S3FileProviderConfiguration> s3ConfigureAction) { containerConfiguration.Provider = S3FileProviderConfigurationNames.ProviderName; containerConfiguration.NamingNormalizers.TryAdd <S3FileNamingNormalizer>(); s3ConfigureAction(new S3FileProviderConfiguration(containerConfiguration)); return(containerConfiguration); }
public static FileContainerConfiguration UseDatabase( this FileContainerConfiguration containerConfiguration) { containerConfiguration.Provider = DatabaseFileProviderConsts.ProviderName; return(containerConfiguration); }
protected virtual void CheckFileExtension(IEnumerable <string> fileExtensions, FileContainerConfiguration configuration) { foreach (var ext in fileExtensions.Where(ext => !IsFileExtensionAllowed(ext, configuration))) { throw new FileExtensionIsNotAllowedException(ext); } }
protected virtual void CheckFileSize(Dictionary <string, long> fileNameByteSizeMapping, FileContainerConfiguration configuration) { foreach (var pair in fileNameByteSizeMapping.Where(pair => pair.Value > configuration.MaxByteSizeForEachFile)) { throw new FileSizeExceededLimitException(pair.Key, pair.Value, configuration.MaxByteSizeForEachFile); } var totalByteSize = fileNameByteSizeMapping.Values.Sum(); if (totalByteSize > configuration.MaxByteSizeForEachUpload) { throw new UploadSizeExceededLimitException(totalByteSize, configuration.MaxByteSizeForEachUpload); } }
protected virtual IOss GetOssClient(FileContainerConfiguration fileContainerConfiguration) { var aliyunConfig = fileContainerConfiguration.GetAliyunConfiguration(); return(OssClientFactory.Create(aliyunConfig)); }
public static AliyunFileProviderConfiguration GetAliyunConfiguration( this FileContainerConfiguration containerConfiguration) { return(new AliyunFileProviderConfiguration(containerConfiguration)); }
public static FileSystemFileProviderConfiguration GetFileSystemConfiguration( this FileContainerConfiguration containerConfiguration) { return(new FileSystemFileProviderConfiguration(containerConfiguration)); }
public static AzureFileProviderConfiguration GetAzureConfiguration( this FileContainerConfiguration containerConfiguration) { return(new AzureFileProviderConfiguration(containerConfiguration)); }
public static MinioFileProviderConfiguration GetMinioConfiguration( this FileContainerConfiguration containerConfiguration) { return(new MinioFileProviderConfiguration(containerConfiguration)); }
public static FastDFSFileProviderConfiguration GetFastDFSConfiguration( this FileContainerConfiguration containerConfiguration) { return(new FastDFSFileProviderConfiguration(containerConfiguration)); }
public static S3FileProviderConfiguration GetS3Configuration( this FileContainerConfiguration containerConfiguration) { return(new S3FileProviderConfiguration(containerConfiguration)); }