Я пытаюсь встроить видео в вид, но получаю 404, и я не совсем уверен, почему.Я создал новый проект laravel, а затем сделал php artisan storage: link.На этом сайте не нужно загружать файлы, поэтому я просто вставил файл в каталог хранения:
storage/app/public/product1/courses/announcements/Manager_Creating_an_Announcement.mp4
Мой файл миграции:
public function up()
{
Schema::create('courses', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
$table->string('title')->nullable($value = true);
$table->string('certifcation')->nullable($value = true);
$table->string('video')->nullable($value = true);
});
}
Гдевидео - это путь
My CourseCountroller
<?php
namespace App\Http\Controllers;
use App\Course;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
class CourseController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index($id)
{
$course = Course::findOrFail($id);
//dd(Storage::allFiles('public'));
//this returns an array with: 0 => "public/product1/courses/announcement/Manager_Creating_an_Announcement.mp4"
return view('course.index', compact('course', $course));
}
Вид, по которому пользователь нажимает, чтобы перейти на этот курс, выглядит следующим образом:
<a href="/product/course/1">Manager Creating an Announcement</a>
Маршрут в web.php выглядит так:
Route::get('/product/course/{course}', 'CourseController@index');
И вид курса выглядит так:
@extends('layouts.app')
@section('content')
@php
@endphp
<div class="container">
<div class="row justify-content-center">
<div class="col-md-12">
<div class="card">
<div class="card-header">Welcome to your course: {{$course->title}}</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
<h3>Watch the video first!</h3>
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src="{{asset($course->video)}}"></iframe>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
В тинкере курс выглядиткак это:
>>> Course::all();
[!] Aliasing 'Course' to 'App\Course' for this Tinker session.
=> Illuminate\Database\Eloquent\Collection {#2921
all: [
App\Course {#2922
id: 1,
created_at: null,
updated_at: null,
title: "Manager creating an Announcement",
certifcation: "Announcements",
video: "public/csm/courses/announcement/Manager_Creating_an_Announcement.mp4",
},
],
}
Ошибка 404, страница не найдена.Когда я проверяю элемент, я вижу:
<iframe src="http://127.0.0.1:8000/public/product1/courses/announcement/Manager_Creating_an_Announcement.mp4" class="embed-responsive-item"></iframe>
Я также попробовал его с тегом video вместо встраивания, но не пошел.Любая помощь будет высоко ценится!