**Is your feature request related to a problem? Please describe.** Need common abstractions for file operations like `CreateDirectory`, `SaveFileToPath`. **Describe the solution you'd like** ```csharp // Program.cs services.AddCqrs(typeof(SaveFileCommandHandler).Assembly).AddFileProvider<AliyunOssFileProvider>(); // handler private readonly IFileProvider _fileProvider; public SaveFileCommandHandler(IFileProvider fileProvider) { _fileProvider = fileProvider; } public async Task Handle(SaveFileCommand request, CancellationToken cancellationToken) { var exists = _fileProvider.ExistsAsync(request.FilePath); if (exists) { return CommandResponse<byte[], FileError>.Fail(FileError.FileAlreadyExists); } var fileBytes = _fileProvider.ReadBytesAsync(request.FilePath); return CommandResponse<byte[], FileError>(fileBytes); } ```