コード例 #1
0
 public TencentCosStorageChunkedUploadProcessor(ChunkedUploadTencentCosStorageConfigure configure, IFileValidator fileValidator, CosXml client, IMemoryCache memoryCache, IFileNameGenerator fileNameGenerator, ISubdirectoryGenerator subdirectoryGenerator)
 {
     Configure             = configure;
     FileValidator         = fileValidator;
     MemoryCache           = memoryCache;
     FileNameGenerator     = fileNameGenerator;
     SubdirectoryGenerator = subdirectoryGenerator;
     Client = client;
 }
コード例 #2
0
        public static IServiceCollection AddChunkedUploadTencentCOS(this IServiceCollection services, Action <ChunkedUploadTencentCosStorageConfigure> options)
        {
            services.AddUpload <TencentCosStorageChunkedUploadProcessor>();
            services.AddScoped(typeof(IMergeHandler), typeof(MergeHandler));
            services.AddScoped <ICheckChunksProcessor, TencentCosStorageCheckChunksProcessor>();
            services.AddScoped <ICheckChunkProcessor, TencentCosStorageCheckChunkProcessor>();
            services.AddScoped <IUploadCompletedHandler, ChunkUploadCompletedHandler>();
            services.AddScoped <IMergeProcessor, TencentCosStorageMergeProcessor>();
            var config = new ChunkedUploadTencentCosStorageConfigure(services);

            options?.Invoke(config);
            if (string.IsNullOrWhiteSpace(config.RootDirectory))
            {
                throw new ArgumentNullException(nameof(config.RootDirectory));
            }
            services.AddSingleton <UploadConfigure>(config);
            services.AddMemoryCache();
            services.RegClient(config);
            return(services.AddSingleton(config));
        }
コード例 #3
0
 public TencentCosStorageMergeProcessor(ChunkedUploadTencentCosStorageConfigure configure, CosXml client, IMemoryCache memoryCache)
 {
     Configure   = configure;
     MemoryCache = memoryCache;
     Client      = client;
 }