$upload.upload({ url: "/upload", method: 'POST', data: data, file: file, formDataAppender: function(formData, key, value){ // key => 'stuff' // value => { 'foo': 'bar' } for (k in value) { var dataKey = key + "[" + k + "]"; // => "stuff[foo]" formData.append(dataKey, value[k]); // => sets "stuff[foo]=bar" - the correct way to send the form data } } })