前言
後臺開發被迫寫jsp,ajax批量上傳文件搞了兩天
下面上代碼
前端
1.參數處理
var formData = new FormData();
var files = $("#input[type='file']"); var remarks= $("#input[name='remark']");
for (var i = 0; i < files.length; i++) { var remark= remarks[i].value;//注意:這裏append進去的是File對象,而不是FileList對象 formData.append("attachment", files[i].files[0]); formData.append("remark",remark); }
2.發送ajax請求
$.ajax({ url: "/xxx", type: "post", data: formData, processData: false, contentType: false, success: function (data) { }, });
後臺
@RequestMapping(value = "/xxx" , method = RequestMethod.POST) @ResponseBody public APIResult<Boolean> xxx(@RequestParam("attachment")MultipartFile[] attachment,@RequestParam("remarks") List<String> remarks){ for (int i=0;i<attachment.size();i++) { MultipartFile uploadFile =attachment[i]; ...... } }
Controller層用兩個參數 分別接收formData中的兩個屬性
注意加紅部分:親測可用