Тег Laravel 7 <img>не отображается - PullRequest
0 голосов
/ 04 мая 2020

Я делаю курс удеми

У меня есть одна проблема

Когда я начинаю создавать сообщение, мне нужно вставить фотография

Когда я добавляю фотографию, фотография не отображается

Хотя «Просмотр исходной страницы» четко показывает, что фотография вставлен и должен отображаться, но не отображаться

Я написал код li

<img src="{{ $post->image }}" alt="">

Я пытался добавить это расширение, но оно снова не работал

<img src="{{ asset($post->image) }}" alt="">

Просмотр исходной страницы

<img src="posts/2F2K2uHwvdL11pB8FSmecTeKCCNe1qIaLjCTcOPU.jpeg" alt="">

PostController

    public function create()
    {
        return view('posts.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(CreatePostsRequest $request)
    {
        $image = $request->image->store('posts');

        Post::create([
            'title'       => $request->title,
            'description' => $request->description,
            'content'     => $request->content,
            'image'       => $image
        ]);

        session()->flash('success','Post is successfully created');

        return redirect(route('posts.index'));

    }

CreatePostsRequest

class CreatePostsRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'title'       => 'required|unique:posts',
            'description' => 'required',
            'image'       => 'required|image',
            'content'     => 'required'
        ];
    }
}

Post. php

class Post extends Model
{
    protected $fillable = [
        'title','description','content','image','published_at'
    ];
}

Если кто-то может помочь мне в значительной части ночь я борюсь с этим, но я терплю неудачу

Заранее спасибо

1 Ответ

2 голосов
/ 04 мая 2020

Вы не используете полный путь к хранилищу, как показано в вашем источнике страницы просмотра.

Сначала вы должны убедиться, что ваши папки хранения и публикации c связаны с помощью команды artisan link:

php artisan storage:link

Затем вы можете указать публикацию. c каталог с вашим методом магазина:

$image = $request->image->store('public/posts');

Теперь вы можете получить доступ к своему изображению с помощью:

<img src="{{asset('storage/posts/' . $post->image)}}" alt="">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...