Upload plików Spring

0

Witam,
Piszę aplikację w której użytkownicy mają możliwość dodawania zdjęć do ogłoszeń. Kiedy ostatni raz potrzebowałem przechowywać pliki w bazie użyłem po prostu blob'a, ale takie przechowywanie plików bezpośrednio w bazie mnie nie przekonuje. Chciałem zapisywać pliki na serwerze a w bazie przechowywać tylko nazwę pliku. Znalazłem taki przykład w dokumentacji: https://spring.io/guides/gs/uploading-files/

Myślałem nad tym, żeby dodać jakąś metodę tworzącą nazwę z loginu użytkownika i oryginalnej nazwy pliku żeby nie podpisywać przechowywanych danych jawnym nickiem. Może po prostu zwykłe numerowanie plików będzie lepsze? Albo w ogóle jest jakiś inny, lepszy sposób, żeby rozwiązać tą sprawę? Z góry dziękuję za wszelkie sugestie.

0

Możesz po prostu generować UUID (i zapisywać plik jako UUID.rozszerzenie) a w bazie mieć kolumny: sciezka_do_pliku_na_serwerze, oryginalna_nazwa_pliku.

Jeśli np, będziesz chciał plik wystawiać przez REST API, to np. ścieżka restowa mogłaby być: /api/UUID_PLIKU/Oryginalna%20Nazwa%20pliku.xyz. W kontrolerze patrzyłbyś tylko na UUID, a to jaka będzie nazwa pliku dalej może już nie mieć znaczenia - ktoś będzie mógł sobie wpisać w url /api/UUID_PLIKU/Cokolwiek.xyz i pobierze sobie plik o tym UUID jako Cokolwiek.xyz

0

https://www.nurkiewicz.com/2015/06/writing-download-server-part-i-always.html

nazwa i rozszerzenie w bazie, na dysku tylko uuid

1 użytkowników online, w tym zalogowanych: 0, gości: 1