FormData Conversion
When making Inertia requests that include files (even nested files), Inertia will automatically convert the request data into a FormData object. This conversion is necessary in order to submit a multipart/form-data request via XHR.
If you would like the request to always use a FormData object regardless of whether a file is present in the data, you may provide the forceFormData option when making the request.
FormData interface via its MDN documentation.
File Upload Example
Let’s examine a complete file upload example using Inertia. This example includes both aname text input and an avatar file input.
Multipart Limitations
Uploading files using amultipart/form-data request is not natively supported in some server-side frameworks when using the PUT,PATCH, or DELETE HTTP methods. The simplest workaround for this limitation is to simply upload files using a POST request instead.
However, some frameworks, such as Laravel and Rails , 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.