onchange事件上传文件,第二次上传同一文件不触发onchange事件。
解决方法:第一次onchange触发上传获取文件后清空值
function readTxt() {//导入文件 var va=$("#uploadTxt").val();//uploadTxt为上传控件id if(va==null||va==''){ return; } var formData = new FormData($("#fileForm")[0]);//fileForm为表单id $("#uploadTxt").val("");//获取文件后清空值 $.ajax({ type: "POST", url: "${pageContext.request.contextPath}/program/uploadTxt.do", contentType: false, data: formData, async: false, dataType: 'json', processData: false, success: function (data) { }, error: function (e) { } }); }
<form id="fileForm"> <input id='uploadTxt' name="uploadTxt" type='file' οnchange="readTxt()" accept=".txt" multiple="multiple"/> </form>
@RequestMapping("/uploadTxt") public DwzResult uploadTxt(HttpServletRequest req, HttpServletResponse resp, @RequestParam(value="uploadTxt",required = false) List<MultipartFile> uploadTxt) {}