# FileManagement

ABP version (opens new window) NuGet (opens new window) NuGet Download (opens new window) Discord online (opens new window) GitHub stars (opens new window)

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 (opens new window)

# Installation

  1. Install the following NuGet packages. (see how (opens new window))

    • 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
  2. Add DependsOn(typeof(FileManagementXxxModule)) attribute to configure the module dependencies. (see how (opens new window))

  3. Add builder.ConfigureFileManagement(); to the OnModelCreating() method in MyProjectMigrationsDbContext.cs.

  4. Add EF Core migrations and update your database. See: ABP document (opens new window).

# Usage

  1. Add permissions to the roles you want.

  2. Configure a BLOB container. (see sample (opens new window) and doc (opens new window))

  3. Configure a file container. (see sample (opens new window))

  4. Create a custom FileOperationAuthorizationHandler. (see sample (opens new window))

Files Upload

# Road map

  • [x] Multi container.
  • [x] Multi file upload.
  • [x] Upload constraints.
  • [x] User-space isolation.
  • [x] Reuse existing BLOB resources.
  • [x] Directory occupancy statistics.
  • [x] Auto deleting unused BLOB resources.
  • [x] Auto rename files with duplicate names.
  • [ ] Container space quota control.
  • [ ] Customized upload way.
  • [ ] Complex file search.
  • [ ] Unit tests.
Last Updated: 11/16/2022, 10:07:22 AM