Dignite Abp File Storing
July 24, 2026 ยท View on GitHub
Important
This repository is archived. Active development moved to the lockstep monorepo:
dignite-projects/abp-modules.
New File Storing source and documentation:
abp-modules/file-storing.
Please open new issues and pull requests in
dignite-projects/abp-modules.
Package IDs, namespaces, and published package names are unchanged. Only the source repository changed.
Contributors should clone the new repository, or update an existing remote to
https://github.com/dignite-projects/abp-modules.git.
This repository contains the extracted file storing and file explorer modules from dignite-abp.
The target layout is:
core/src/Dignite.Abp.FileStoring: file upload infrastructure on top of ABP Blob Storing.core/src/Dignite.Abp.FileStoring.Imaging: optional upload-time image processing.file-explorer/src/Dignite.FileExplorer.*: DDD file explorer backend.angular/projects/file-explorer: Angular UI package.
dignite-abp is treated as a frozen source repository and is not modified by this extraction.
Host secrets
host/Dignite.FileExplorer.Web.Host/appsettings.json contains no certificate or encryption passphrases. Configure these values with .NET user-secrets, environment variables, or a secret store instead:
AuthServer:CertificatePassPhrase
StringEncryption:DefaultPassPhrase
Identity:AdminPassword
For a first-run Development database, Identity:AdminPassword is optional and ABP's development password is used; set the value explicitly before sharing the environment. Non-Development database migration requires Identity:AdminPassword and fails when it is missing. For Docker or other deployments, use the corresponding double-underscore environment variable names (for example, AuthServer__CertificatePassPhrase).
Data Protection keys are persisted under DataProtection:KeysPath (default: data-protection-keys). The Docker compose deployment mounts this directory to the durable host_data_protection_keys volume. In a multi-instance deployment, point DataProtection:KeysPath at a shared durable filesystem available to every API instance.
The seeded Host_App OpenIddict client uses Authorization Code with PKCE and Refresh Token grants, plus ABP's Link Login and Impersonation extensions. Password and Client Credentials grants are intentionally disabled because the Angular SPA is a public client and does not need either flow. Swagger uses Authorization Code only.