data['photo'] = $photo; } protected function mutateFormDataBeforeSave(array $data): array { if ( !empty($data['photo']) && str_starts_with($data['photo'], 'data:image') ) { // Delete the old photo file if one exists $oldPhoto = $this->record->photo; if ($oldPhoto && Storage::disk('public')->exists($oldPhoto)) { Storage::disk('public')->delete($oldPhoto); } // Save the new photo $imageData = explode(',', $data['photo'])[1]; $filename = 'visitor_' . time() . '_' . uniqid() . '.jpg'; $path = 'visitor-photos/' . $filename; Storage::disk('public')->put($path, base64_decode($imageData)); $data['photo'] = $path; } return $data; } }