The File Repository allows uploading and sharing files from its UI and REST APIs. One of its goals is to isolate from the underlying technology in which the files are stored and it supports these 3 technologies:
GridFS: this is MongoDB's distributed file system. It is an appropriate choice for scenarios where I use MongoDB as a platform database as it does not force me to deploy any additional parts and supports most scenarios.
MinIO/AWS S3: for both platform deployments on AWS and deployments using MinIO, this mechanism offers many more options and is suitable for advanced or heavy use of the File Repository.
Google Cloud Storage: this mechanism is the most suitable in deployments on GCP, since for a very small cost I can use the File Repository on this persistence.
Depending on which technology I have selected at the time of platform deployment I will select one of these options: deployed platform I will be able to select:
When uploading a file I will select the persistence option:
On the other hand, a REST API is available to the user to use this functionality: