java jsp 上传excel 异步上传
jsp
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="multipart/form-data; charset=utf-8" />
<title>导入</title>
<script type="text/javascript">
function excelImport1() {
var fileName = $("#file_upload").val();
if (fileName == "" || fileName.length == 0) {
layer.alert("请选择文件!");
return false;
}
var fileType = (fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length)).toLowerCase();
if (fileType !== 'xls' && fileType !== 'xlsx') {
layer.alert("文件格式不正确,excel文件!");
return false;
}
var batchImpUrl = '${ctx}${arPath}/express/importPrintExpressExcel';
// var files=$("#file_upload").val;
var FormDatas=new FormData($("#batch_Form_new")[0]);
$.ajax({
url: batchImpUrl, //需要链接到服务器地址
type:'post',
async : false,
cache : false,
contentType : false,
processData : false,
data:FormDatas,
success: function (data) {
$.messager.progress('close');
if(data && data.successMessage != null && data.successMessage != ''){
layer.alert(data.successMessage);
}else{
layer.alert(data.errorMessages[0]);
}
}, error: function (data) {
}
});
}
</script>
</head>
<body>
<table width="100%" height="60px">
<tr>
<td width="50%" style="text-align:center;line-height:40px;">
</td>
<form id="batch_Form_new" enctype="multipart/form-data"
action="${ctx}${arPath}/importPrintExpressExcel" method="post" >
<%-- 1 <div class="row">
<div class="control-group span6">
<div class="controls">
<input type="file" name="file" id="file_upload"/>
</div>
<span class="">
<%–<input type="submit" value="导入Excel" />–%>
<input type="button" value="导入Excel" onclick="excelImport1()"/>
</span>
</div>
</div>--%>
2
<td width="50%" style="text-align:center;line-height:40px;position: absolute;left: 80px;margin:10px;">
<span class="UploadifyButtonWrapper">
<div class="UploadifyObjectWrapper">
<input type="file" name="file" id="file_upload"/>
</div>
</span>
<span class="UploadifyButtonWrapper" >
<%--<a href="javascript:excelImport1(0)" class="easyui-linkbutton" data-options="iconCls:'icon-importData',size:'large',iconAlign:'top'">导入数据</a>--%>
<input type="button" value="导入Excel" onclick="excelImport1()"/>
</span>
</td>
</form>
</tr>
</table>
</body>
</html>
Controller
@RequestMapping(value = "/importPrintExpressExcel", method = RequestMethod.POST)
@ResponseBody
public ExecuteResult<TArExpressRecDTO> importPrintExpressExcel(final HttpServletRequest request,
@RequestParam(value = "file",required=false) MultipartFile file) {
结果如下
出点问题调半天,爱惜吧
必不可少, 慢慢研究去吧
ajax= < meta http-equiv=“Content-Type” content=“multipart/form-data; charset=utf-8” />
form= enctype=“multipart/form-data”
<form id="batch_Form_new" enctype="multipart/form-data"
action="${ctx}${arPath}/importPrintExpressExcel" method="post" >