# Attachments > File uploads for comments. ## Overview Comments support file attachments for both images and documents. Images are displayed inline within the comment body, while documents appear as downloadable links. ## Configuration ```php // config/comments.php 'attachments' => [ 'enabled' => true, 'disk' => 'public', 'max_size' => 10240, // KB (10 MB) 'allowed_types' => [ 'image/jpeg', 'image/png', 'image/gif', 'image/webp', 'application/pdf', 'text/plain', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', ], ], ```
Key Default Description
enabled true Show/hide the attachment upload UI
disk 'public' Laravel filesystem disk for storage
max_size 10240 Maximum file size in kilobytes
allowed_types images, pdf, text, word Array of allowed MIME types
## Disabling Attachments ```php 'attachments' => [ 'enabled' => false, ], ``` This removes the file upload UI from the comment form entirely. ## Storage Attachments are stored via Livewire's file upload mechanism. Each attachment record tracks: - `file_path` -- Path on the configured disk - `original_name` -- Original filename for display - `mime_type` -- MIME type for rendering decisions - `size` -- File size in bytes - `disk` -- Storage disk name When a comment is deleted, its attachments are cascade deleted from the database. The physical files are removed from the disk. ## Helper Methods The `Attachment` model (`Relaticle\Comments\Models\Attachment`) provides: ```php $attachment->isImage(); // Check if attachment is an image $attachment->url(); // Get the storage URL $attachment->formattedSize(); // Human-readable size (e.g., "2.5 MB") ```