您的位置:首页 > 编程语言 > Java开发

Ajax文件上传和后台SpringMVC获取文件

2017-10-25 00:00 381 查看
页面与js代码如下:

<form id="csvForm" enctype="multipart/form-data">
<input id="accountName" name="accountName" value="${accountName}" hidden>
<input type="button" value="导入" id="external_button"/>
<input type="file" name="file" id="file"/>
</form>
//JS代码

/**
* 上传按钮绑定事件
*/
$('#external_button').click(function () {
if ($('#file').val() == "") {
alertMessage("请先选择文件");
return false;
}
var csvPath = $('#file').val();
var fileExtendOff = csvPath.substring(csvPath.lastIndexOf('.')).toLowerCase();
if (fileExtendOff != '.csv') {
alertMessage("文件格式有误,请上传csv格式");
return false;
}
doUpload();
return false;
});

/**
* 异步上传
*/
function doUpload() {
var formData = new FormData($("#csvForm")[0]);
$.ajax({
url: contextPath + '/security/importExtReconFile.htm' ,
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (data) {
if (data.code == '200') {
alertMessage(data.content);
window.location.reload();
} else {
alertMessage(data.content);

}
}
});
}

SpringMVC后台接收页面参数和文件

@ResponseBody
@RequestMapping(method = RequestMethod.POST, value = "/security/importExtReconFile")
public MessageBean importExtReconFile(@RequestParam("file") MultipartFile file,
HttpServletRequest request) throws IOException {
MessageBean messBean = new MessageBean(MessageCode.COMMON_SUCCESS);
//获取页面参数
String accountName = request.getParameter("accountName");
//获取文件名
String filename = file.getOriginalFilename();
AccountPeriodPo accountPeriodPo = new AccountPeriodPo();
InputStream fis = null;
try {
//获取上传文件的输入流
fis = file.getInputStream();
//1.检查对账文件数据的格式CSV
MessageBean result = checkCSVFile(fis);
if (!MessageCode.COMMON_SUCCESS.equals(result.getCode())) {
logger.error("csv数据格式不正确");
messBean.setCode(MessageCode.SYSTEM_ERROR);
messBean.setContent(result.getContent());
return messBean;
}
//2.存储到指定位置
if (FtpUtil.uploadFile(ftpHost, ftpUsername, ftpPassword, ftpPort, ftpDir, filename, fis)) {
logger.info("FTP上传文件成功");
} else {
logger.error("FTP文件上传失败 !!!");
messBean.setCode(MessageCode.SYSTEM_ERROR);
messBean.setContent("FTP文件上传失败");
return messBean;
}
} catch (IOException e) {
logger.error("文件导入失败", e);
messBean.setCode(MessageCode.SYSTEM_ERROR);
messBean.setContent("文件导入失败");
return messBean;
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
logger.error("流关闭异常", e);
}
}
}
messBean.setContent("导入成功 !");
return messBean;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐