Прежде всего, рекомендуемое место для этого материала - оставаться на общедоступном пути, а не создавать новый, если только для этого нет реальной причины.Вы действительно проверяли, что символическая ссылка была создана?
У Laravel есть собственная команда создать символическую ссылку от storage/app/public
до public/storage
(папка хранилища будет сгенерирована впоследствии):
php artisan storage:link
Но если вы хотите создать символические ссылки по умолчанию, вы должны создать их для себя, как вы уже сделали.
Это шаблон символической ссылки:
ln -s target source
(укажите целевой путь и исходный путь)
Так что, если вы действительно получили правильный файл из вашего запроса, этот код должен работать:
Storage::putFile($name, $request->file('category-image'));
Для получения более подробной информации смотрите файловую систему документация