# ImageCapture.OutputFileOptions.Builder

Artifact: [androidx.camera:camera-core](https://developer.android.com/jetpack/androidx/releases/camera) [View Source](https://cs.android.com/search?q=file:androidx/camera/core/ImageCapture.java+class:androidx.camera.core.ImageCapture.OutputFileOptions.Builder) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

*** ** * ** ***


```
class ImageCapture.OutputFileOptions.Builder
```

<br />

*** ** * ** ***

Builder class for `https://developer.android.com/reference/kotlin/androidx/camera/core/ImageCapture.OutputFileOptions`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/camera/core/ImageCapture.OutputFileOptions.Builder#Builder(java.io.File)(file: https://developer.android.com/reference/java/io/File.html)` Creates options to write captured image to a `https://developer.android.com/reference/java/io/File.html`. |
| `https://developer.android.com/reference/kotlin/androidx/camera/core/ImageCapture.OutputFileOptions.Builder#Builder(java.io.OutputStream)(outputStream: https://developer.android.com/reference/java/io/OutputStream.html)` Creates options that write captured image to a `https://developer.android.com/reference/java/io/OutputStream.html`. |
| `https://developer.android.com/reference/kotlin/androidx/camera/core/ImageCapture.OutputFileOptions.Builder#Builder(android.content.ContentResolver,android.net.Uri,android.content.ContentValues)( contentResolver: https://developer.android.com/reference/android/content/ContentResolver.html, saveCollection: https://developer.android.com/reference/android/net/Uri.html, contentValues: https://developer.android.com/reference/android/content/ContentValues.html )` Creates options to write captured image to `https://developer.android.com/reference/android/provider/MediaStore.html`. |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/camera/core/ImageCapture.OutputFileOptions` | `https://developer.android.com/reference/kotlin/androidx/camera/core/ImageCapture.OutputFileOptions.Builder#build()()` Builds `https://developer.android.com/reference/kotlin/androidx/camera/core/ImageCapture.OutputFileOptions`. |
| `https://developer.android.com/reference/kotlin/androidx/camera/core/ImageCapture.OutputFileOptions.Builder` | `https://developer.android.com/reference/kotlin/androidx/camera/core/ImageCapture.OutputFileOptions.Builder#setMetadata(androidx.camera.core.ImageCapture.Metadata)(metadata: https://developer.android.com/reference/kotlin/androidx/camera/core/ImageCapture.Metadata)` Sets the metadata to be stored with the saved image. |

## Public constructors

### Builder

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
Builder(file: File)
```

Creates options to write captured image to a `https://developer.android.com/reference/java/io/File.html`.

| Parameters |
|---|---|
| `file: https://developer.android.com/reference/java/io/File.html` | save location of the image. |

### Builder

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
Builder(outputStream: OutputStream)
```

Creates options that write captured image to a `https://developer.android.com/reference/java/io/OutputStream.html`.

| Parameters |
|---|---|
| `outputStream: https://developer.android.com/reference/java/io/OutputStream.html` | save location of the image. |

### Builder

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
Builder(
    contentResolver: ContentResolver,
    saveCollection: Uri,
    contentValues: ContentValues
)
```

Creates options to write captured image to `https://developer.android.com/reference/android/provider/MediaStore.html`. Example:

```kotlin
ContentValues contentValues = new ContentValues();
contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, "NEW_IMAGE");
contentValues.put(MediaStore.MediaColumns.MIME_TYPE, "image/jpeg");

ImageCapture.OutputFileOptions options = new ImageCapture.OutputFileOptions.Builder(
        getContentResolver(),
        MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
        contentValues).build();
```

| Parameters |
|---|---|
| `contentResolver: https://developer.android.com/reference/android/content/ContentResolver.html` | to access `https://developer.android.com/reference/android/provider/MediaStore.html` |
| `saveCollection: https://developer.android.com/reference/android/net/Uri.html` | The URL of the table to insert into. |
| `contentValues: https://developer.android.com/reference/android/content/ContentValues.html` | to be included in the created image file. |

## Public functions

### build

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
fun build(): ImageCapture.OutputFileOptions
```

Builds `https://developer.android.com/reference/kotlin/androidx/camera/core/ImageCapture.OutputFileOptions`.

### setMetadata

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
fun setMetadata(metadata: ImageCapture.Metadata): ImageCapture.OutputFileOptions.Builder
```

Sets the metadata to be stored with the saved image.

For JPEG this will be included in the EXIF.

| Parameters |
|---|---|
| `metadata: https://developer.android.com/reference/kotlin/androidx/camera/core/ImageCapture.Metadata` | Metadata to be stored with the saved image. For JPEG this will be included in the EXIF. |