1. 前端页面以及JS代码:
<form id='upload--docx-form' method='post' enctype='multipart/form-data'>
<input type="file" name='file' id="uploadDocxs" multiple size="80" accept=".docx" />
<input type="button" id="knowledgeDocxUpload" class="btn ml-5 save-btn" value="上传解析" style="margin-left:15%" />
<font color="red">(一次最多上传解析20个)</font>
</form>
var fordata = new FormData();
var infoList=[];
var filesMany=document.getElementById("uploadDocxs").files;
//var filesMany2=$('#uploadDocxs').prop('files');
var fileNameArr = [];
for(var i = 0 ;i<filesMany.length;i++){
//file对象为用户选择的某一个文件
var file = filesMany[i];
//此时取出这个文件进行处理,这里只是显示文件名
var finleName = file.name.replace(".docx","");
fileNameArr.push(finleName);
var klgDataNew = { ... klgData};
klgDataNew["knowledgeName"] = finleName;
fordata.append("files", file);
infoList.push(klgDataNew);
}
var jsonString = JSON.stringify(infoList);
fordata.append("infoListStr", jsonString);
$.ajax({
url: url,
type:"post",
dataType: "json",
data: fordata,
processData: false,
contentType:false,
headers: Util.getHeader(),
success:function(result){
},
error:function(result){
}
});
2. 后端接口接收:
@PostMapping("/manyDraft")
public Response manyPublish(@RequestParam("files") MultipartFile[] files, @RequestParam("infoListStr")String infoListStr ,HttpServletRequest request ) {
}