Generalnie mogą być dwa rozwiązania - cloud lub Twój serwerek. Jeśli cloud to jest ich parę, np. firebase wystawia API do uploadu plików i ich storage wraz z API do pobierania danych. Możesz też pliki zapisywać u siebie na serwerku co często może być lepsze, masz większą kontrolę nad tym, pewnie lepszą wydajność itp. (choć z wydajnością to różnie bywa, ale masz większe możliwości konfiguracji serwerka).
W bazie zapisujesz sobie tylko np. id usera i nazwę pliku (plus jakieś ewentualne dane dodatkowe, daty itp. itd.), a same pliki znajdują się w jakiś folderach na dysku. Nazwy mogą być w tym momencie jakimiś hashami, można też wykorzystać do tworzenia nazwy coś z uuid itp. aby zachować unikalność nazw, a nazwę usera zawsze możesz sobie zapisać w bazie jeśli chciałbyś mu ją wyświetlać. Drugie rozwiązanie, czyli własny storage jest też wg mnie nieco bezpieczniejszy np. pod kątem ewentualnych próśb o trwałe usunięcie danych RODO (często nazywane CUD, clear user data) itp.