# Image Picker

### How It Works

The Image Picker opens your device’s file picker or camera, depending on the **build type**, **operating system**, and **browser**. Once a user selects or captures an image, the file is stored in your database or used in your app flow.

{% hint style="success" %}
Camera and Gallery Permissions are prompted initially with no additional setup needed.
{% endhint %}

***

### Expected Behavior Across Platforms

Because the Image Picker relies on the device and browser APIs, its behavior varies:

#### iOS

* **Native App (App Store / TestFlight build)**:\
  ✅ Users can select from **Camera** or **Photo Library**.
* **PWA (installed or Web)**:

  ✅ **Safari (iOS)**: Users can select photo from **Photo Library, Camera, or Files**

  ✅ **Chrome (iOS)**: Users can select photo from **Photo Library, Camera, or Files**

#### Android

* **Native App (Play Store / APK build)**:\
  ✅ Users can select from **Camera** or **Gallery**, using system camera APIs.
* **PWA (installed via Chrome / other browsers)**:\
  ⚠️ Users usually **only see Gallery (Photos or Albums)**\
  The Camera option does **not appear.**\
  ⚠️ Browser behavior may also differ by version (e.g., Chrome vs. Samsung Internet).

***

### &#x20;Limitations & Workarounds

* On **Android PWAs**, users cannot directly access the Camera inside the Image Picker. Instead, they should:
  1. Take a photo with the Camera app.
  2. Select it from the Gallery when uploading in your PWA.
* If your app requires frequent camera use, we recommend distributing it as a **native build** rather than relying on the PWA version.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.adalo.com/component-basics/forms-and-fields/image-picker.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
