【发布时间】:2022-01-27 07:17:46
【问题描述】:
我是 Laravel Nova 的新手,我想从计算机上传头像或从网络摄像头捕捉。至于现在,我创建了一个条件依赖选择字段来使用this package 隐藏和显示元素。我遇到了webcamjs,我想知道我将如何实现这个自定义操作。
我有两个选项“从网络摄像头捕获”和“从计算机上传”。我现在只有这个“从计算机上传”,它工作正常。我想要的是从网络摄像头捕获图像并加载头像字段。
public function fields(Request $request)
{
return [
ID::make(__('ID'), 'id')->sortable(),
Text::make('Full Name')->rules('required'),
Select::make('Upload Avatar', 'upload_avatar_method')->options([
0 => 'Capture from Webcamera',
1 => 'Upload from Computer',
])->displayUsingLabels()->rules('required'),
NovaDependencyContainer::make([
Avatar::make('Avatar','avatar')
->disk('public')
->path('employees/'. $request->user()->id)
->storeAs(function (Request $request) {
return 'avatar.'.$request->file('avatar')->getClientOriginalExtension();
})
->rules('required')
->thumbnail(function ($value, $disk) {
return $value
? Storage::disk($disk)->url($value)
: null;
})->hideFromIndex(),
])->dependsOn('upload_avatar_method', 1),
];
}
【问题讨论】:
-
您是否尝试过这样做?这一切都将是客户端的 JS 代码。
-
不幸的是,我不太擅长通过 client-seide JS @miken32 处理所有自定义。我不太了解如何使用 nova 自定义代码,任何示例代码或文章都会非常有利于参考。
标签: laravel vue.js laravel-nova