**今天用springboot 做excel上传的时候,用ajax请求后台的时候,出现的问题,浪费了自己不少时间 **
直接上代码
```javascript
//表头添加
<meta http-equiv="Content-Type" content="multipart/form-data; charset=utf-8" />
```javascript
<!-- 模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<div class="wrapper wrapper-content ">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<form class="form-horizontal m-t" id="signupForm"
>
<div class="form-group">
<label class="col-sm-3 control-label">导入文件:</label>
<div class="col-sm-8">
<input type="file" class="form-control" style="height:36px;"
name="uploadFile" id="uploadFile" />
</div>
</div>
<div class="form-group">
<div class="col-sm-8 col-sm-offset-3">
<button type="button" class="btn btn-primary"
id="UpButton">上传</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
$("#UpButton").click(function() {
if (validateRule() == false) {
return false;
}
//这里 使用FormData对象发送文件
var fileObj = new FormData(document.getElementById("signupForm"));
$.ajax({
url : "/base/upLoadExcel/save",
type : "post",
**//只要出现的问题,记录下来以便以后看**
data :fileObj,
enctype: 'multipart/form-data',
dataType:"json",
cache:false,
contentType:false,
processData:false,
success : function(result) {
parent.layer.msg("操作成功");
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
var htmlstr = '';
if(result.result==false){
for(var i=0;i<result.data.length;i++){
htmlstr += '<li>'+result.data[i]+'</li>';
}
} else {
htmlstr = '<li>上传成功</li>';
}
$('#exportResult').html(htmlstr);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
DialogUtil.error("系统错误");
}
});
});
//判断上传的问题是否为excel
function validateRule() {
var file = $("#uploadFile").val();
var index = file.lastIndexOf(".");
var ext = file.substring(index + 1, file.length);
if (file == '' || file == null) {
alert("请选择所要上传的文件!");
return false;
} else if (ext != "xls" && ext != "xlsx") {
alert("上传的文件格式不正确,请选择Excel文件(*.xls/*.xlsx)!");
return false;
}
return true;
}
controller
@ResponseBody
@PostMapping("/save")
public R save(@RequestParam("uploadFile") MultipartFile uploadFile) throws IOException{
//业务需要
return R.ok();
}
最后说下今天遇到的问题
org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request;
我出现的问题是没有转成FormData对象,希望大家少走弯路