Chuyển đổi sang FormData
Khi thực hiện request Inertia có chứa file (kể cả file lồng nhau), Inertia sẽ tự động chuyển đổi dữ liệu request thành objectFormData. Việc chuyển đổi này là cần thiết để gửi request multipart/form-data qua XHR.
Nếu muốn request luôn sử dụng object FormData bất kể dữ liệu có chứa file hay không, bạn có thể truyền tùy chọn forceFormData khi thực hiện request.
FormData trong tài liệu MDN.
Trước phiên bản 0.8.0, Inertia không tự động chuyển request sang FormData. Nếu đang sử dụng bản phát hành Inertia cũ hơn phiên bản này, bạn cần tự thực hiện việc chuyển đổi.
Ví dụ tải file lên
Hãy xem một ví dụ hoàn chỉnh về tải file lên bằng Inertia. Ví dụ này bao gồm cả input văn bảnname và input file avatar.
Giới hạn của multipart
Việc tải file bằng requestmultipart/form-data không được hỗ trợ nguyên bản trong một số framework phía máy chủ khi sử dụng các HTTP method PUT, PATCH hoặc DELETE. Cách đơn giản nhất để khắc phục giới hạn này là tải file bằng request POST.
Tuy nhiên, một số framework như Laravel và Rails hỗ trợ giả lập HTTP method của form, cho phép bạn tải file bằng POST nhưng để framework xử lý request như PUT hoặc PATCH. Cách này được thực hiện bằng cách thêm thuộc tính _method vào dữ liệu request.