All Projects → EasyAbp → FileManagement

EasyAbp / FileManagement

Licence: MIT license
An abp application module that allows users to upload and manage their own files based on the ABP BLOB storing.

Programming Languages

C#
18002 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language

FileManagement

ABP version NuGet NuGet Download Discord online GitHub stars

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

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

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

  4. Add EF Core migrations and update your database. See: ABP document.

Usage

  1. Add permissions to the roles you want.

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

  3. Configure a file container. (see sample)

  4. Create a custom FileOperationAuthorizationHandler. (see sample)

Files Upload

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].