问题描述
视频没有得到我定义的名称,而我的名字就是创建文件夹而不是视频名称。并且此文件夹使用随机名称获取视频。
控制器代码:
public function uploadVideo(Request $request){
$this->validate($request,[
'video' => 'required|mimes:mpeg,ogg,mp4,webm,3gp,mov,flv,avi,wmv,ts',]);
$video_upload = $request->file('video');
$update = Page::findOrfail(1);
if(isset($video_upload))
{
$videoName = 'video'.'.'.$video_upload->getClientOriginalExtension();
if(!Storage::disk('public')->exists('page'))
{
Storage::disk('public')->makeDirectory('page');
}
Storage::disk('public')->put('page/'.$videoName,$video_upload);
} else {
$videoName = $update->video;
}
$update->video = $videoName;
$update->save();
Toastr::success('Video Successfully Updated :)','Success');
return redirect()->back();
}
解决方法
您可以使用随机字符串作为视频名称:
$videoName = Str::random(10).'.'.$video_upload->getClientOriginalExtension();
,并使用 putFileAs 方法作为自定义文件名:
Storage::disk('public')->putFileAs('page',$video_upload,$videoName)