Прежде всего, вы не должны использовать Lumen для создания сайта социальной сети. Там, где Lumen облегчен, ему не хватает основных утилит, которые предлагает Laravel.
Теперь вернемся к вашему вопросу, вам потребуется league/flysystem
в вашем проекте и использовать API хранилища. Возможно, вам придется иметь дело с конфигурациями в Lumen, чтобы заставить файловую систему работать должным образом.
Так же, как Laravel, вы должны хранить папку хранилища вне папки publi c и символической ссылки. каталог publi c приложения хранилища. В Laravel у вас есть команда php artisan storage:link
для достижения результатов.
Теперь, после правильного конфигурирования хранилища, файлы publi c будут доступны непосредственно, когда каталог является символической ссылкой, и вы можете решить, на личные файлы, как они должны быть доступны. Flysystem предоставляет вам большую гибкость при чтении и записи контента с / на диск. Надеюсь, это поможет вам как-то начать.