KalimeroMK's avatar

upload two images using one form in different rows in the database

Hi I need to upload two images using one form in different rows in the database table team1logo and team2logo my code is

Controller store method

 public function store(StoreScoreRequest $request): RedirectResponse
        {
            $score = Score::create(
                $request->except('team1', 'team2', 'team1logo', 'team2logo') + [
                    'team1logo' => $this->verifyAndStoreImage($request),
                    'team2logo' => $this->verifyAndStoreImage($request),
                ]
            );
            $score->language()->attach($this->pivotData($request));

            Session::flash('success_msg', trans('messages.scoreCreate'));
            return redirect()->route('scores.edit', $score);
        }

and trait for image upload

trait ImageUpload
    {
        /**
         * @param  Request  $request
         * @return string
         */
        public function verifyAndStoreImage(Request $request): string
        {
            if ($request->hasFile('featured_image') or $request->hasFile('team1logo') or $request->hasFile('team2logo')) {
                if ($request->hasFile('team1logo')) {
                    $image = $request->file('team1logo');
                } elseif ($request->hasFile('team2logo')) {
                    $image = $request->file('team2logo');
                } else {
                    $image = $request->file('featured_image');
                }
            }
            $imageName = Str::random(15) . '.' . $image->getClientOriginalExtension();
            $paths = $this->makePaths();
            File::makeDirectory($paths->original, $mode = 0755, true, true);
            File::makeDirectory($paths->thumbnail, $mode = 0755, true, true);
            File::makeDirectory($paths->medium, $mode = 0755, true, true);
            $image->move($paths->original, $imageName);
            $find_image = $paths->original . $imageName;
            $image_thumb = Image::make($find_image)->resize(
                200,
                null,
                function($constraint) {
                    $constraint->aspectRatio();
                }
            );
            $image_medium = Image::make($find_image)->resize(
                600,
                null,
                function($constraint) {
                    $constraint->aspectRatio();
                }
            );
            $image_max = Image::make($find_image)->resize(
                1920,
                null,
                function($constraint) {
                    $constraint->aspectRatio();
                }
            );
            $image_thumb->save($paths->thumbnail . $imageName);
            $image_medium->save($paths->medium . $imageName);
            $image_max->save($paths->original . $imageName);

            return $imageName;
        }

error is The file "Screenshot 2021-11-15 at 13.32.52.png" was not uploaded due to an unknown error.

0 likes
0 replies

Please or to participate in this conversation.