You can create a new "disk" for uploads. If you want to switch your uploads to a remote storage or to any other directory at later moment you can easily do so by changing the root (and move all of your uploads of course).
For example you can add an uploads disk to config/filesystems.php
@click this doesn't seem right, I would want to change the disk via the env , so for development I would use the local disk, the when in production I would switch to s3 disk.
The way you mention would mean an extra layer of complications.
@panthro That is something you did not mention in your question. But the logic is the same. It is up to you how you want to maintain it. You could create multiple disk configurations or you can create a single one.
Depending on your requirements you can create an environment key UPLOADS_DRIVER and UPLOADS_PATH and change it on your production server.
Firstly you should ideally store these items in the ENV file, then use a Config to collect them. The config has a default value.
This way you could have a service or something that makes the decision about which folder to use.