コード例 #1
0
        public static void AddKongrevskyFileManager(this IServiceCollection services, Action <FileManagerOptions> configurationSection)
        {
            var options = new FileManagerOptions();

            configurationSection(options);
            services.AddSingleton <IFileManager>(provider => new FileManager(options));
        }
コード例 #2
0
 public LocalFileService(IMapper mapper, IHostEnvironment environment, IOptions <FileManagerOptions> options)
 {
     Mapper              = mapper;
     basePath            = environment.ContentRootPath;
     _fileManagerOptions = options.Value;
     shardPath           = Path.Combine(basePath, "shards");
     baseUrl             = new Uri(basePath).AbsoluteUri;
 }
コード例 #3
0
 public FileManagerController(IFileService fileService,
                              IOptions <FileManagerOptions> uploadOptions,
                              IWebHostEnvironment webHostEnvironment)
 {
     _fileService        = fileService;
     _uploadOptions      = uploadOptions.Value;
     _webHostEnvironment = webHostEnvironment;
 }
コード例 #4
0
ファイル: FileManager.cs プロジェクト: kongres/libraries
        public FileManager(FileManagerOptions fileManagerOptions)
        {
            _fileManagerOptions = fileManagerOptions ?? throw new ArgumentNullException(nameof(fileManagerOptions));
            if (string.IsNullOrEmpty(_fileManagerOptions.RootPath))
            {
                throw new ArgumentNullException(nameof(_fileManagerOptions.RootPath));
            }

            if ((_fileManagerOptions.Impersonation ?? (_fileManagerOptions.Impersonation = new ImpersonationOptions())).IsImpersonationEnabled)
            {
                _userCredentialsImpersonation = new UserCredentials(_fileManagerOptions.Impersonation.ImpersonationDomain, _fileManagerOptions.Impersonation.ImpersonationUsername, _fileManagerOptions.Impersonation.ImpersonationPassword);
                Impersonation.RunAsUser(_userCredentialsImpersonation,
                                        () => { Directory.CreateDirectory(_fileManagerOptions.RootPath); },
                                        LogonType.Interactive,
                                        LogonProvider.Default);
            }
            else
            {
                Directory.CreateDirectory(_fileManagerOptions.RootPath);
            }
        }
コード例 #5
0
        protected override void OnStart(string[] args)
        {
            string             xmlConfigFile  = Path.Join(AppDomain.CurrentDomain.BaseDirectory, "config.xml");
            string             jsonConfigFile = Path.Join(AppDomain.CurrentDomain.BaseDirectory, "appsettings.json");
            FileManagerOptions options        = new FileManagerOptions();

            if (new FileInfo(jsonConfigFile).Exists)
            {
                ConfigurationProvider configProvider = new ConfigurationProvider(new JsonParser());
                options.StorageOptions = configProvider.GetOptions <StorageOptions>(jsonConfigFile);
                options.EncryptOptions = configProvider.GetOptions <EncryptOptions>(jsonConfigFile);
            }
            else if (new FileInfo(xmlConfigFile).Exists)
            {
                ConfigurationProvider configProvider = new ConfigurationProvider(new XmlParser());
                options.StorageOptions = configProvider.GetOptions <StorageOptions>(xmlConfigFile);
                options.EncryptOptions = configProvider.GetOptions <EncryptOptions>(xmlConfigFile);
            }
            logger = new Logger(options);
            Thread loggerThread = new Thread(new ThreadStart(logger.Start));

            loggerThread.Start();
        }
コード例 #6
0
 public FilesService(IOptionsSnapshot <FileManagerOptions> options)
 {
     _options = options.Value;
 }
コード例 #7
0
ファイル: Logger.cs プロジェクト: MBindich/css-95350014
 public Logger(FileManagerOptions options)
 {
     this.options     = options;
     watcher          = new FileSystemWatcher(options.StorageOptions.SourceDirectory);
     watcher.Created += OnCreated;
 }
コード例 #8
0
ファイル: FileManager.cs プロジェクト: xtablab27/xtab.tools
 public FileManager(FileManagerOptions options = null)
 {
     options = options ?? new FileManagerOptions();
     server  = HttpContext.Current.Server;
 }
コード例 #9
0
 public UploaderController(IOptions <FileManagerOptions> uploadOptions, IFileService uploadService)
 {
     _uploadOptions = uploadOptions.Value;
     _uploadService = uploadService;
 }