jeudi 19 juillet 2018

validating base64 image laravel

Im saving a request to my database from my vue js via;

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);
    }
}

How can I validate the base64 image? Is my procedure in saving the image coming from vue js is in correct way or is there a better way? please let me know. Thanks im just new to laravel and vue js hoping to learn more



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire