показать загруженное изображение из хранилища laravel - PullRequest
0 голосов
/ 01 апреля 2020

Я хочу увидеть изображение, которое я загрузил на моем API для отдыха.

вот файл, который я загрузил

Я попробую этот код,

public function MostrarImagenUsuario($id){
    $usuario = Usuario::find($id);
    $link = Storage::disk('public')->url('app/'.$usuario->foto);
    return response()->file($link);
}

но когда я попытался проверить его с почтальоном, он посылает мне эту ошибку.

FileNotFoundException: файл "http://localhost/storage/app/public/IqFviqFca7PPEXQlOK0nnBf11Yg2mXne8xzuR0wh.jpeg" не существует в файле

также у меня есть попробовать этот метод

public function MostrarImagenUsuario2($id){
    $usuario = Usuario::find($id);
    $link = Storage::get($usuario->foto);;
    return $link;
}

и я получаю этот результат:

второй результат

наконец, я не знаю как решить это.

Ответы [ 3 ]

1 голос
/ 01 апреля 2020

ваш код не работает, потому что вы пытаетесь получить изображение из каталога non publi c в laravel все ресурсы publi c всегда хранятся в папке root publi c. в случае изображений вы можете хранить в хранилище / app / publi c, но если вы хотите получить изображение, всегда используйте public / folder, и оба они связаны с помощью ссылки syn c.

php artisan storage:link

используйте эту команду для syn c link

после выполнения этой команды 1 ярлык, созданный в папке root publi c. и вы можете все изображения из root publi c ярлык.

$url = Storage::url('database filed name where you store image data');
0 голосов
/ 01 апреля 2020

Используйте вот так в модели

Эта функция выполняется, когда вы получаете свойство изображения

public function getImageAttribute($value)
{
    if (!$value) {
        return 'http://placehold.it/160x160';
    }

    return env("APP_URL")."/storage/phones/".$value;
}

Эта функция выполняется, когда вы устанавливаете свойство изображения из файла

   public function setImageAttribute($photo)
    {
        $this->attributes['Image'] = move_file($photo, 'phones');
    }
0 голосов
/ 01 апреля 2020

Убедитесь, что вы создали ссылку на хранилище, вызвав php хранилище ремесленника: ссылка

Затем вы можете получить URL вашего файла хранилища.

$ url = Storage :: url ( 'file.jpg');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...