我正在使用 Laravel 内置的文件上传功能将视频上传到我的网站。我已经成功上传了文件,但是当我的 friend 尝试上传视频时,他收到了错误“validation.uploaded”,我不知道为什么会这样,我一直在努力寻找错误,但我找不到找不到它。我们都在 firefox 和 chrome 中尝试过,但只有我的 friend 得到了它。请帮助这是我的代码:
保存视频功能
protected function saveVideo(UploadedFile $video)
{
$fileName = str_random(40);
$fullFileName = $fileName.'.'.$video->guessClientExtension();
$video->storeAs('videos', $fileName);
return $fullFileName;
}
从表单中保存
public function update(Request $request, $id)
{
//dd($request->all());
$video = Video::findOrFail($id);
$this->validate($request, [
'title' => 'required|unique:lessons,title,'.$video->id,
'lesson_lists' => 'required',
'description' => 'required'
]);
$data = $request->only('title', 'description','lesson_lists');
$data['slug'] = str_slug($request->title);
if($request->hasFile('image')){
$data['image'] = $this->saveImage($request->file('image'));
if($video->image !== '') $this->deletePhoto($video->image);
}
if($request->hasFile('video')){
$data['video'] = $this->saveVideo($request->file('video'));
if($video->video !== '') $this->deleteVideo($video->video);
}
//$data['lesson_id'] = implode($request->get('lesson_lists'));
$video->update($data);
Session::flash("flash_notification", [
"level"=>"success",
"message"=>"Berhasil menyimpan $video->title"
]);
return redirect()->route('video.index');
}
最佳答案
实际上,如果您尝试下载的文件大小超过“upload_max_filesize”,Laravel 会显示此验证错误,因此您必须打开 php.ini 文件并像这样设置选项:
post_max_size = 500M
上传最大文件大小 = 500M
注意:如果您使用 wamp 或 xamp,请不要忘记重新启动它,否则请重新运行命令:
php artisan 服务
关于php - Laravel 5 文件上传验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39854828/