# Object Headless Api Upload File

**URL:** <https://discuss.liferay.com/t/object-headless-api-upload-file/302>\
**Category:** Development\
**Created:** [January 22, 2026, 8:19pm UTC](https://discuss.liferay.com/t/object-headless-api-upload-file/302 "2026-01-22T20:19:37Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Moozo](https://dub1.discourse-cdn.com/flex014/user_avatar/discuss.liferay.com/moozo/32/545_2.png) [@Moozo](https://discuss.liferay.com/u/Moozo)\
**Post date:** [January 22, 2026, 8:19pm UTC](https://discuss.liferay.com/t/object-headless-api-upload-file/302/1 "2026-01-22T20:19:37Z")

</div>

Hello, I need to create a React portlet that invokes the headless APIs of an Object to create an object entry by entering a series of data, including uploading a file.

To upload a file, do I first need to invoke the headless APIs to load the file into the DML? Does anyone have an example or a list of APIs that I should invoke to achieve my goal?

---

<div class="post-metadata">

**Author:** ![Pooja\_Bhambani](https://dub1.discourse-cdn.com/flex014/user_avatar/discuss.liferay.com/pooja_bhambani/32/379_2.png) [@Pooja\_Bhambani](https://discuss.liferay.com/u/Pooja_Bhambani)\
**Post date:** [January 27, 2026, 8:59am UTC](https://discuss.liferay.com/t/object-headless-api-upload-file/302/2 "2026-01-27T08:59:26Z")

</div>

Hi @Moozo,

There are two ways to attach the files, the first one is upload the file in the documents & media portlet, and then pass the id of the file in the body, like below:

```json
{

"name": "EXAMPLE01",  
"attachmentField": 34050 // this is fileentryid, and can be obtained from dlfileentry table

}

```

The second is to upload the file using base64 encoding, and for that, you can refer to the following request body:

```auto
{
“attachment” : {
“name” : “file.png”,
“fileBase64” : “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”

  }

}

```

Please note that the content type is not form-data, so you need to choose ‘raw’ body type and send the data as JSON.

For more reference: [Upload attachments to custom objects Headless API - Liferay Learn](https://learn.liferay.com/kb-article/upload-attachments-to-custom-objects-headless-api)

 ![image](https://europe1.discourse-cdn.com/flex014/uploads/liferay/original/1X/33d8fba90c3795ee73eadc2c427ca2d051b03cf9.png)
