jsp页面标签
<!-- 上传走行信息的Excel -->
<form id="runInfoForm" class="collection_form" action="${basePath}/cs/uploadRunInfo" enctype="multipart/form-data" target="hiddenIFrame" method="post">
<!-- 选择按钮 -->
<div class="file">
<input type="file" name="file" class="files" id="file"/>
</div>
<!-- 上传按钮 -->
<a href="javascript:void(0)" class="templateDownload" id="btn">上传</a>
<!-- 模板下载 -->
<a href="${basePath }/fileDisk/cs/服务器上文件名.xlsx" class="templateDownload">模板下载</a>
</form>
<iframe id='hiddenIFrame' name='hiddenIFrame' style="display:none;"></iframe>
/**
* controller走行xml上传
* @param file
* @param request
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value="/uploadRunInfo",produces="text/html;charset=UTF-8")
@ResponseBody
public String upload(MultipartFile file,HttpServletRequest request,Model model) throws Exception{
if(null == file || (null != file && 0 == file.getSize())){
return "请选择一个文件!";
}
String fileName = file.getOriginalFilename();
//校验文件名
boolean flag = csRunInfoService.validateName(fileName);
if(false == flag){
return "文件名错误,请核对文件名!";
}
boolean validateDate = csRunInfoService.validateDate(fileName);
if(false == validateDate){
return "上传失败,只能上传当月走行记录!";
}
//校验文件是否已经存在
String path = request.getSession().getServletContext()
.getRealPath("/fileDisk/cs");
List<String> list = csRunInfoService.fileNameList(path);
boolean hasFile = list.contains(fileName);
logger.debug("@@@@@ 服务器中是否已经有文件:" + hasFile);
File newFile = new File(path + "/" + fileName);
FileUtils.copyInputStreamToFile(file.getInputStream(), newFile);
if(!newFile.exists()){
return "上传失败!";
}else{
//解析走行记录xml
String newPath = path + "/" + fileName;