Skip to content

Instantly share code, notes, and snippets.

@soap
Created April 18, 2019 13:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save soap/bb739ef21f27b9efb2d0a8a7433409e4 to your computer and use it in GitHub Desktop.
Save soap/bb739ef21f27b9efb2d0a8a7433409e4 to your computer and use it in GitHub Desktop.
Convert object to FormData
function createFormData(object: Object, form?: FormData, namespace?: string): FormData {
const formData = form || new FormData();
for (let property in object) {
if (!object.hasOwnProperty(property) || !object[property]) {
continue;
}
const formKey = namespace ? `${namespace}[${property}]` : property;
if (object[property] instanceof Date) {
formData.append(formKey, object[property].toISOString());
} else if (typeof object[property] === 'object' && !(object[property] instanceof File)) {
createFormData(object[property], formData, formKey);
} else {
formData.append(formKey, object[property]);
}
}
return formData;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment