多文件上传方法

@ResponseBody
@RequestMapping(value = “/demand/issue/update”, method = RequestMethod.POST)
public RespJson getFile(HttpServletRequest request, String acceptNo,
HttpServletResponse response,
String title, String remark, String payTime) {
response.setHeader(“Access-Control-Allow-Origin”, “*”);
try {
/**
* 下边这个是获取非文件的属性值方法
/
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
Collection files = fileMap.values();
HashMap<String, Object> map = new HashMap<String, Object>();
map.put(“acceptNo”, acceptNo);
DemandIssue demandIssue = demandService.getDemandIssue(map);
if (StringUtils.isNotBlank(title)) {
demandIssue.setTitle(title);
}
if (StringUtils.isNotBlank(remark)) {
demandIssue.setRemark(remark);
}
if (StringUtils.isNotBlank(payTime)) {
demandIssue.setPayTime(payTime);
}
//更新需求发布内容
demandService.updateDemandIssue(demandIssue);
if (fileMap != null && fileMap.size() != 0) {
manageService.deleteAttachment(demandIssue.getId());
for (MultipartFile file : files) {
/

* 注意这里获取的个数,是根据前端form表单里有几个,type=file来决定的,
* 比如你虽然只点选了一个文件,上传,但这里实际上回有两个MultipartFile对
* 象,只不过其中一个MutipartFile的文件名会为空,这就是为什么下边会有个判断文件名 为空的步骤
**/
String fileName = file.getOriginalFilename();
if (StringUtils.isBlank(fileName)) {
continue;
}
InputStream is = null;
if (file != null) {
// name = file.getOriginalFilename();
try {
is = file.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
}
String path = getFilePath();
String filepath = ConfigUtil.get(“upload.path”) + path;
Attachment attachment = new Attachment();
attachment.setFileName(fileName);
attachment.setFilePath(path + “/” + fileName);
attachment.setCreateTime(DateUtils.formatDate(new Date(),
DateUtils.simple));
attachment.setRelateId(demandIssue.getId());
manageService.addAttachment(attachment);
UploadState record = UploadFileUtils.upload4Stream(fileName,
filepath, is);
}
}
return new RespJson(true, “操作成功”, ResultCode.SUCCESS, “”);
} catch (Exception e) {
e.printStackTrace();
logger.error(“上传失败” + e);
return new RespJson(false, “操作失败”, ResultCode.ERROR, “”);
}
}

private String getFilePath() {
long time = System.currentTimeMillis();
String value = String.valueOf(time);
String sub = value.substring(value.length() - 4);
String s1 = sub.substring(0, 2);
String s2 = sub.substring(2);
return s1 + “/” + s2;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值