java springmvc 后台读取文件_Ajax文件上传和后台SpringMVC获取文件

页面与js代码如下:

//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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值