FormData creates form-encoded data, especially useful for file uploads:
const form = document.querySelector("form");
const formData = new FormData(form);
// Or build manually
const data = new FormData();
data.append("file", fileInput.files[0]);
data.append("name", "document.pdf");
await fetch("/upload", {
method: "POST",
body: formData
});