Nov 18, 2021
0
Level 41
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.
Please or to participate in this conversation.