function isObject (value) { return value === Object(value) } function isArray (value) { return Array.isArray(value) } function isFile (value) { return value instanceof File } function makeArrayKey (key) { return key } function objectToFormData (obj, fd, pre) { fd = fd || new FormData() Object.keys(obj).forEach(function (prop) { var key = pre ? (pre + '[' + prop + ']') : prop if (isObject(obj[prop]) && !isArray(obj[prop]) && !isFile(obj[prop])) { objectToFormData(obj[prop], fd, key) } else if (isArray(obj[prop])) { obj[prop].forEach(function (value) { var arrayKey = makeArrayKey(key) if (isObject(value) && !isFile(value)) { objectToFormData(value, fd, arrayKey) } else { fd.append(arrayKey, value) } }) } else { if(obj[prop]!=null) fd.append(key, obj[prop]) } }) return fd } export default objectToFormData