I just figured it out by trying it.
xhr.open(‘POST’, ‘/api/method/upload_file’, true);
xhr.setRequestHeader(‘Accept’, ‘application/json’);
xhr.setRequestHeader(‘X-Frappe-CSRF-Token’, frappe.csrf_token);
let form_data = new FormData();
var file = document.getElementById(‘id of the input file’).files[0];
form_data.append(‘file’, file, file.name);
xhr.send(form_data);