我正在处理一个简单的基本crud,我正在用视频存储我的注册用户。我使用的文件类型是本地的,注册进行得很好。但我似乎无法在我的查看页面上显示和播放我的视频。
这是我的注册功能
public function store(Request $request)
{
$validator = Validator::make($request->all(),[
'name' => 'required|string', 'max:255',
'email' => 'required|string',
'password' => 'required', 'confirmed', RulesPassword::defaults(),
'phone' => 'required|string',
'insta' => 'required|string',
'video' => 'required',
]);
if ($validator->fails()) {
return response()->json([ 'message' => $validator->errors() ]);
}
try{
if ($request->hasFile('video')) {
$sub = str_replace('" "', '_',$request->company);
$path = Storage::disk('local')
->putFileAs("user/video-{$sub}",$request->video,$request->video->getClientOriginalName());
}
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
'phone' => $request->phone,
'insta' => $request->insta,
'video' => $path,
]);
event(new Registered($user));
Auth::login($user);
return redirect(RouteServiceProvider::HOME)->with('success','Registerd succesfully!');
}
catch (Exception $e){
$payload=[
'status'=>'fail',
'details'=>$e->getMessage()
];
return response()->json(['message' => $payload]);
}
}
这是我的表演功能
public function show($user)
{
$user = User::findorfail($user);
return view('Pages.Admin.Candidate.show',['user' => $user]);
}
这是我的观点
<div class="col-sm-12 col-md-5 col-lg-4">
<div class="card">
{{-- <video controls="" src=" {{ url('storage/'.$user->video) }}" class="bs-card-video"></video> --}}
<video width="auto" height="auto" controls>
<source src=" {{ url('storage/'.$user->video) }}" type="video/mp4">
<source src=" {{ url('storage/'.$user->video) }}" type="video/ogg">
Your browser does not support the video tag.
</video>
</div>
</div>
但它仍然没有显示视频。
您的控制器
public function store(Request $request)
{
$user = new User;
$user->name = $request->name;
$user->phone = $request->phone;
$user->insta = $request->insta;
$user->email = $request->email;
if ($request->hasFile('video')) {
$file = $request->file('video');
$extension = $file->getClientOriginalExtension();
$filename = time() . '.' . $extension;
$file->move('user/videos/', $filename);
$user->video = $filename;
}
$user->password = Hash::make($request->input('password'));
$user->save();
return redirect('/login');
}
您的路线
Route::post('/user/store', 'UserController@store');
您的创建视图
<form method="POST" action="/user/store" enctype="multipart/form-data">
@csrf
<input type="text" name="name" required><br>
<input type="email" name="email" required><br>
<input type="text" name="phone" required><br>
<input type="text" name="insta" required><br>
<input type="password" name="password" required><br>
<input type="file" name="video" required><br>
<button type="submit">Submit Form</button>
</form>
您的查找视图
<div class="col-sm-12 col-md-5 col-lg-4">
<div class="card">
<video width="auto" height="auto" controls>
<source src=" {{ asset('user/videos/' .$user->video) }}" type="video/mp4">
<source src=" {{ asset('user/videos/' .$user->video) }}" type="video/ogg">
Your browser does not support the video tag.
</video>
</div>
</div>
祝你好运,它应该工作