using NCC.Dependency; using Microsoft.Extensions.FileProviders; using System; using System.Reflection; namespace NCC.VirtualFileServer { /// /// 虚拟文件服务静态类 /// [SuppressSniffer] public static class FS { /// /// 获取物理文件提供器 /// /// /// /// public static IFileProvider GetPhysicalFileProvider(string root, IServiceProvider serviceProvider = default) { return GetFileProvider(FileProviderTypes.Physical, root, serviceProvider); } /// /// 获取嵌入资源文件提供器 /// /// /// /// public static IFileProvider GetEmbeddedFileProvider(Assembly assembly, IServiceProvider serviceProvider = default) { return GetFileProvider(FileProviderTypes.Embedded, assembly, serviceProvider); } /// /// 文件提供器 /// /// /// /// /// public static IFileProvider GetFileProvider(FileProviderTypes fileProviderTypes, object args, IServiceProvider serviceProvider = default) { var fileProviderResolve = App.GetService>(serviceProvider ?? App.RootServices); return fileProviderResolve(fileProviderTypes, args); } } }