public static IServiceCollection AddChunkedUploadLocalStorage(this IServiceCollection services, Action <ChunkedUploadLocalStorageConfigure> options) { services.AddUpload <LocalStorageChunkedUploadProcessor>(); services.AddScoped(typeof(IMergeHandler), typeof(MergeHandler)); services.AddScoped <ICheckChunksProcessor, LocalStorageCheckChunksProcessor>(); services.AddScoped <ICheckChunkProcessor, LocalStorageCheckChunkProcessor>(); services.AddScoped <IUploadCompletedHandler, ChunkUploadCompletedHandler>(); services.AddScoped <IMergeProcessor, LocalStorageMergeProcessor>(); var config = new ChunkedUploadLocalStorageConfigure(services); options?.Invoke(config); if (string.IsNullOrWhiteSpace(config.RootDirectory)) { throw new ArgumentNullException(nameof(config.RootDirectory)); } services.AddSingleton <UploadConfigure>(config); return(services.AddSingleton(config)); }
public LocalStorageCheckChunksProcessor(ChunkedUploadLocalStorageConfigure configure) { Configure = configure; }
public LocalStorageChunkedUploadProcessor(ChunkedUploadLocalStorageConfigure configure, IFileValidator fileValidator) { Configure = configure; FileValidator = fileValidator; }
public LocalStorageMergeProcessor(ChunkedUploadLocalStorageConfigure configure, IFileNameGenerator fileNameGenerator, ISubdirectoryGenerator subdirectoryGenerator) { Configure = configure; FileNameGenerator = fileNameGenerator; SubdirectoryGenerator = subdirectoryGenerator; }