1、html部分,引入jquery-form.js插件采用表單上傳方式
<script type="text/javascript" src="/js/jquery-form.js"></script>
<div>
<form id="uploadForm" enctype="multipart/form-data" method="post">
<input id="file" type="file" name="file" />
</form>
<button id="upload">上傳檔案</button>
</div>
2、js部分,需設定傳回類型dataType:'html',
$("#upload").on("click", function() {
$("#uploadForm").ajaxSubmit({
url : "${uploadUrl}",
type: "POST",
dataType:'html',
success : function(data) {
alert(data);
},
error: function() {
alert("上傳失敗,請重新上傳!");
}
});
});
3、controller部分
需指定響應體傳回類型和編碼
@PostMapping(value=MODEL + "/excel/import.do",produces="text/html;UTF-8")
@ResponseBody
public String importExcel(@RequestParam("file") MultipartFile file, HttpServletRequest request)
throws Exception {
if (file.isEmpty()) {
return "檔案為空!";
}
return "success";
}
前台背景指定好響應類型即可在ie8下正常提示