一:html页面,添加上传按钮
<div>
<button type="button" class="btn-btn" @click="uploadFile" style="margin-top: 5px;float: left">导入
</button>
</div>
二:触发点击事件
var formData = new FormData();
formData.append("file", document.getElementById("upload").files[0]);
三:JS
//上传Excel文件
//判断文件是否存在,以及文件后缀名
uploadFile() {
var file = $("#upload").val();
file = file.substring(file.lastIndexOf('.'), file.length);
if (file == '') {
layer.open({
content: '上传文件不能为空!'
, skin: 'msg'
, time: 2 //2秒后自动关闭
});
} else if (file != '.xlsx' && file != '.xls') {
layer.open({
content: '请选择正确的excel类型文件!'
, skin: 'msg'
, time: 2 //2秒后自动关闭
});
} else {
this.ajaxFileUpload();
}
},
//上传文件请求
ajaxFileUpload() {
var formData = new FormData();
formData.append("file", document.getElementById("upload").files[0]);
$.ajax({
url: uploadExcelFielUrl,
type: "POST",
async: true,
data: formData,
processData: false, //需要这两个设置
contentType: false,
beforeSend: function () {
layer.open({
type: 2
, content: '文件上传中,请稍候'
});
},
success: function (data) {
layer.closeAll();
data = JSON.parse(data);
if (data.state == 200) {
layer.open({
content: data.message
, skin: 'msg'
, time: 1 //2秒后自动关闭
});
window.location.reload();
} else {
layer.open({
content: data.message
, skin: 'msg'
, time: 2 //2秒后自动关闭
});
}
}
});
}
四:java代码--Controller层
@ApiOperation(value = "导入商品信息")
@RequestMapping(value = "/ImportProductData" ,method = RequestMethod.POST)
public @ResponseBody
BizResponse ImportProductData(@RequestParam("file") MultipartFile file, HttpServletRequest request) {
return productDataService.importProductData(file, request);
}
五:service层
BizResponse importProductData(MultipartFile file, HttpServletRequest request);
六:业务层
public BizResponse importProductData(MultipartFile file, HttpServletRequest request) {
BizResponse bizResponse = new BizResponse();
if (!file.isEmpty()) {
try {