我正在尝试上传视频,并且我在数据库中正确存储了路径,但是我没有将视频放在我想要的文件夹中。
这是我的代码:
$postvideo = Postmedia::where('post_id',$id)->where('type','video')->first();
if (isset($postvideo))
{
if ($request->video_link) {
$postvideo->path = $request->video_link;
$postvideo->typevid = $request->link;
}
else
{
File::delete($postvideo->path);
if($request->hasFile('video_link_local'))
{
$file = $request->file('video_link_local');
$filename = $file->getClientOriginalName();
$path = 'uploads/post/';
$file->move($path, $filename);
$postvideo->path = $path.$filename;
$postvideo->ext = ($request->video_link_local)->getClientOriginalExtension();
$postvideo->typevid = $request->local;
}
}
$postvideo->save();
}
上传现在可以正常工作但是在强调文件名的情况下,我在这一行中遇到问题,文件名被更改
$file->move($path, $filename);
像这样的例子:Présentation - > Présentation!!! 因此,当我想要显示上传的视频时,这会产生问题
答案 0 :(得分:0)
检查https://laravel.com/docs/5.6/filesystem#file-uploads, 这里的文档解释了如何处理所有类型的文件。
基础示例是
$file = $request->file('video_link_local');
$filename = $file->getClientOriginalName();
$path = '/uploads/post/';
$upload_path = Storage::putFileAs($path, $file, $filename);
$postmedia->path = $upload_path;
然后,将文件送到您拥有的其他地方
// here you should already have fetched $postmedia
Storage::get($postmedia->path);