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; }
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)); }
public TencentCosStorageMergeProcessor(ChunkedUploadTencentCosStorageConfigure configure, CosXml client, IMemoryCache memoryCache) { Configure = configure; MemoryCache = memoryCache; Client = client; }