> For the complete documentation index, see [llms.txt](https://docs.emobiq.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.emobiq.com/emobiq-client/006-actions-and-visual-logic/action-reference/react-native/file/write.md).

# write

## Description

Creates a new file or overrides an existing file in the cache directory of the mobile phone.

## Input / Parameter

| Name     | Description                                                                                      | Input Type | Default | Options                   | Required |
| -------- | ------------------------------------------------------------------------------------------------ | ---------- | ------- | ------------------------- | -------- |
| data     | The file data to write.                                                                          | Text       | -       | Base64, Text, Byte array  | Yes      |
| dataType | The type of file content.                                                                        | Text       | -       | Base64, Text, Byte\_Array | Yes      |
| fileName | The name of the file to write.                                                                   | Text       | -       | -                         | Yes      |
| folder   | The folder path of the file. If this input is provided, it will be appended to the storage path. | Text       | -       | -                         | No       |
| extra    | The stored value that is passed to all the callbacks.                                            | Any        | -       | -                         | No       |

## Output

| Description                        | Output Type |
| ---------------------------------- | ----------- |
| Returns the formatted information. | Object      |

### Object

| Key     | Description                                                             | Output Type |
| ------- | ----------------------------------------------------------------------- | ----------- |
| success | Boolean value to denote whether the function was executed successfully. | Text        |
| message | The message to print.                                                   | Text        |
| data    | Any additional message or data to print.                                | Text        |

## Callback

### callback

The action performed if this function runs successfully.

| Description                                           | Output Type |
| ----------------------------------------------------- | ----------- |
| Returns an object that contains the file information. | Object      |

### errorCallback

The action performed if this function does not run successfully.

| Description               | Output Type |
| ------------------------- | ----------- |
| Returns an error message. | Text        |

## Example

In this example, we will create a file with text value inside it.

### Steps

1. Drag a button component to a page in the mobile designer.

   ![](/files/MY033m3exzVbJFNCTxPZ)
2. Select the event `press` and drag the `File.write` function to the event flow and fill in the parameter.

   ![](/files/IbgyosHzoSyPpxpShXKL)

### Result

1. Open the installed app on a device and try to press the button.
2. The file will be created and ready to use.

   ![](/files/H9AFnfAY33em7XIL8IzN)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.emobiq.com/emobiq-client/006-actions-and-visual-logic/action-reference/react-native/file/write.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
