FileManagement
An abp application module that allows users to upload and manage their own files based on the ABP BLOB storing.
Online Demo
We have launched an online demo for this module: https://file.samples.easyabp.io
Installation
-
Install the following NuGet packages. (see how)
- EasyAbp.FileManagement.Application
- EasyAbp.FileManagement.Application.Contracts
- EasyAbp.FileManagement.Domain
- EasyAbp.FileManagement.Domain.Shared
- EasyAbp.FileManagement.EntityFrameworkCore
- EasyAbp.FileManagement.HttpApi
- EasyAbp.FileManagement.HttpApi.Client
- (Optional) EasyAbp.FileManagement.MongoDB
- (Optional) EasyAbp.FileManagement.Web
-
Add
DependsOn(typeof(FileManagementXxxModule))
attribute to configure the module dependencies. (see how) -
Add
builder.ConfigureFileManagement();
to theOnModelCreating()
method in MyProjectMigrationsDbContext.cs. -
Add EF Core migrations and update your database. See: ABP document.
Usage
-
Add permissions to the roles you want.
-
Configure a file container. (see sample)
-
Create a custom FileOperationAuthorizationHandler. (see sample)
Road map
- Multi container.
- Multi file upload.
- Upload constraints.
- User-space isolation.
- Reuse existing BLOB resources.
- Directory occupancy statistics.
- Auto deleting unused BLOB resources.
- Auto rename files with duplicate names.
- Container space quota control.
- Customized upload way.
- Complex file search.
- Unit tests.