我保存一个请求到我的数据库从我的vue js通过;
public function store(Request $request)
{
//validate
$this->validate($request, [
'name' => 'required',
'description' => 'required',
'price' => 'required'
]);
//get image
$exploded = explode(',', $request->cover_image);
$decoded = base64_decode($exploded[1]);
if(str_contains($exploded[0],'jpeg'))
$extension = 'jpg';
else
$extension = 'png';
$fileName = str_random().'.'.$extension;
$path = public_path().'/cover_images/'.$fileName;
file_put_contents($path, $decoded);
//save
$product = new Product;
$product->name = $request->input('name');
$product->description = $request->input('description');
$product->price = $request->input('price');
$product->cover_image = $fileName;
if($product->save()) {
return new ProductsResource($product);
}
}
我如何验证base64映像?我保存来自vue js
的映像的过程是正确的还是有更好的方法?请让我知道。谢谢,我只是新的laravel和vue js希望了解更多
3条答案
按热度按时间wwtsj6pe1#
应将此函数添加到自定义帮助器中:
然后在
boot()
方法中扩展AppServiceProvider
中的base64_image
验证:现在,您可以在验证规则中使用它,如下所示:
lmvvr0a82#
有一个处理base64验证的
crazybooot/base64-validation
包。有关安装说明和更多详细信息,请参阅:https://github.com/crazybooot/base64-validation
sf6xfgos3#
你可以试试这个,
别忘了规矩: