我正在尝试使用ajax上传文件和表单数据。但我得到一个具有空值的formData对象。
我可以正确记录fileUpload
对象,但我的formData日志是空的。
有人可以解释我的错误吗?
$(document).ready(function () {
var formData = new FormData();
$('#fileUpload').change(function () {
formData.append('file',$('#fileUpload')[0].files[0]);
console.log($('#fileUpload')[0].files[0]);
});
$('#btnSubmit').click(function (e) {
e.preventDefault();
formData.append('data',$('#creationForm')[0]);
console.log(formData);
$.ajax({
type: 'post',
url: '/upload/testCase',
data: formData,
processData: false,
success: function (result) {},
error: function () {}
});
return false;
});
});
我想在Spring Controller中使用它们。
@RequestMapping(value = "/upload/testCase" , method = RequestMethod.POST)
public @ResponseBody String uploadTestCase(@RequestParam("data") String data, @RequestParam("file") MultipartFile file ) {
//TestCases.upload(file);
System.out.println(data + file);
return "";
}
答案 0 :(得分:0)
formData
不为空,您只是不正确检查它:
试试这个:
$('#fileUpload').change(function () {
formData.append('uploadedFile',$('#fileUpload')[0].files[0]);
// inspect each key/value entry
for (var data of formData.entries()) {
console.log(data[0] + ', ' + data[1]);
}
});