best practice is to not store the upload data in the database if thats what you were thinking.
What I do is have columns of disk, original_name and filename
Create a file system disk corresponding to the folder where you want to store the media
write the file with the default 40 character random filename that Laravel generates.
Store the disk, the original name and the filename in the database.
The original name is used where I need to allow the user to download their file and get it back with the same name it had on upload.
The random filename is used in the html like;
<img src="{{ Storage::disk($media->disk)->url($media->filename) }}" />