Не загружается образ хранилища Laravel

#laravel #laravel-5.2

#laravel #laravel-5

Вопрос:

Я сохранил изображение в хранилище Laravel. Когда я получаю его, он возвращает путь к файлу, но сообщает, что страница не найдена,

Мой код контроллера,

 $email = $request['email'];
$first_name = $request['first_name'];
$password = bcrypt($request['password']);
$postdata = $request['user_image'];
$user_name = $request['user_name'];
$myfile = time().str_random();
    $image = $request->file('user_image');
    $user_image = time() . '.' . $image->getClientOriginalExtension();
    Image::make($image)->resize(300, 300)->save( storage_path('/' . $user_image ) );
$user = new User();
$user->email = $email;
$user->first_name = $first_name;
$user->password = $password;
$user->user_image = $user_image;
$user->user_name = $user_name;
$user->save();
  

Путь к файлу, который я получаю при вызове файла,

 http://localhost:8000/storage/1553413340.png
  

Ответ №1:

По умолчанию общедоступный диск использует локальный драйвер и сохраняет эти файлы в хранилище / app / public. Чтобы сделать их доступными из Интернета, вы должны создать символическую ссылку из public / storage в storage / app / public. Это соглашение сохранит ваши общедоступные файлы в одном каталоге, который можно легко использовать совместно в разных развертываниях при использовании систем развертывания с нулевым временем простоя, таких как Envoyer.

Чтобы создать символическую ссылку, вы можете использовать команду storage:link Artisan:

php artisan storage:link