> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mainly.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# File

> The File control allows users to upload files, or capture media using camera or microphone.

```
File(accept=None, capture=None)
```

# Example

```python theme={null}
from mirmod.controls import File

# Accept image files for upload
@wob.receiver("value", "image_file", control=File(accept="image/*"))
def receive_image(self, file_data):
	self.image = file_data

# Capture photo from camera
@wob.receiver("value", "camera", control=File(accept="image/*", capture="camera"))
def receive_camera(self, photo):
	self.photo = photo

# Capture audio from microphone
@wob.receiver("value", "microphone", control=File(accept="audio/*", capture="microphone"))
def receive_audio(self, audio):
	self.audio = audio
```

# Parameters

| Name    | Type   | Description                                                                                         |
| ------- | ------ | --------------------------------------------------------------------------------------------------- |
| accept  | string | MIME type filter for accepted files (e.g., "image/*", "audio/*", ".pdf"). Default None (all files). |
| capture | string | Media capture source: "camera" or "microphone". Default None (file upload only).                    |

<Warning>The `capture` parameter must be either "camera" or "microphone" if specified. Any other value will raise an exception.</Warning>
