extensionFor($file); Storage::disk('public')->put($path, $file->getContents()); return $path; } public function url(string $path): string { return Storage::disk('public')->url($path); } public function delete(string $path): void { Storage::disk('public')->delete($path); } private function extensionFor(FileToUpload $file): string { $mimeExtensions = [ 'image/jpeg' => '.jpg', 'image/png' => '.png', 'image/webp' => '.webp', 'application/pdf' => '.pdf', ]; if (isset($mimeExtensions[$file->getMimeType()])) { return $mimeExtensions[$file->getMimeType()]; } $originalExtension = pathinfo( $file->getOriginalName(), PATHINFO_EXTENSION, ); if ($originalExtension !== '') { return '.' . $originalExtension; } return ''; } }