> For the complete documentation index, see [llms.txt](https://samuelgirardin.gitbook.io/masonite-inertia/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://samuelgirardin.gitbook.io/masonite-inertia/the-basics/file-uploads.md).

# File uploads

### Example

Coming soon.

### Limitations

Uploading files using a `multipart/form-data` request is not natively supported in some languages for the `put`, `patch` or `delete` methods. The workaround here is to simply upload files using `post` instead.

Masonite support form method spoofing, which allows you to upload the files using `post`, but have the framework handle the request as a `put` or `patch` request. This is done by including a `__method` attribute in the data of your request. <https://docs.masoniteproject.com/the-basics/requests#changing-request-methods-in-forms-and-urls>.

With inertia.js it can be done this way ([from official doc](https://inertiajs.com/file-uploads)).

```
Inertia.post(`/users/${user.id}`, {
  _method: 'put',
  avatar: form.avatar,
})
```
