An abp application module that allows users to upload and manage their own files based on the ABP BLOB storing.
We have launched an online demo for this module: https://file.samples.easyabp.io
-
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.
-
Add permissions to the roles you want.
-
Configure a file container. (see sample)
-
Create a custom FileOperationAuthorizationHandler. (see sample)
- 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.