/**
* 多文件上传
* @param casesid
* @param request
* @param file
* @param session
* @return
* @throws IOException
*/
@ResponseBody
@RequestMapping(value = "/uploadannex")
public JSONObject uploadannex(@RequestParam("casesid") Integer casesid, HttpServletRequest request, @Param("file") MultipartFile file, HttpSession session) throws IOException {
JSONObject resjs = new JSONObject();
JSONObject resUrl = new JSONObject();
int Number = 0;
//服务器上使用
String rootPath = request.getServletContext().getRealPath("/static/annex/uploads/");//target的目录
//本地使用
//原始名称
String originalFilename = file.getOriginalFilename();
String newFileName = file.getOriginalFilename().substring(0,originalFilename.lastIndexOf("."))+"("+casesid+")" + originalFilename.substring(originalFilename.lastIndexOf("."));
//创建年月文件夹
Calendar date = Calendar.getInstance();
File dateDirs = new File(date.get(Calendar.YEAR)
+ File.separator + (date.get(Calendar.MONTH) + 1));
//新文件
File newFile = new File(rootPath + File.separator + dateDirs + File.separator + newFileName);
//判断目标文件所在的目录是否存在
if (!newFile.getParentFile().exists()) {
//如果目标文件所在的目录不存在,则创建父目录
newFile.getParentFile().mkdirs();
}
//将内存中的数据写入磁盘
file.transferTo(newFile);
//完整的url
String fileUrl = "/static/annex/uploads/" + date.get(Calendar.YEAR) + "/" + (date.get(Calendar.MONTH) + 1) + "/" + newFileName;
CaseAnnex caseAnnex = new CaseAnnex();
//存入数据库中
caseAnnex.setCaseannex_caseid(casesid);
caseAnnex.setCaseannex_url(fileUrl);
caseAnnex.setCaseannex_name(newFileName);
caseAnnex.setCaseannex_createname((String) session.getAttribute("name"));
caseAnnex.setCaseannex_createtime(new Date());
caseAnnex.setCaseannex_updatename((String) session.getAttribute("name"));
caseAnnex.setCaseannex_updatetime(new Date());
caseAnnex.setCaseannex_size(String.valueOf(Float.parseFloat(String.valueOf(file.getSize())) / 1024)+"kb");
caseAnnex.setCaseannex_state(0);
Number = caseAnnexService.addAnnex(caseAnnex);
resUrl.put("src", fileUrl);
resjs.put("code", Number);
resjs.put("msg", "");
resjs.put("data", resUrl);
return resjs;
}
upload附件上传
最新推荐文章于 2024-09-21 10:38:43 发布