#文件上传
写在前面:data数据是关于文件的一些相关描述进行存储
/**
* 单文件上传
*
* @param file
* @param data
* @return
*/
@RequestMapping(value = "/uploadFile", produces = "application/json;charset=UTF-8")
@ResponseBody
public Map<String,Object> uploadFile(@RequestParam("file") MultipartFile file,
@RequestParam("data") String data) {
try {
//判断文件是否为空
if (file.isEmpty()) {
return ResponseUtil.status_400();
}
// 获取原文件名
String fileName = file.getOriginalFilename();
//新建文件实体类 将文件原始名 文件名 存储路径
MaterialDocumentEntity materialDocument = new MaterialDocumentEntity();
materialDocument.setDocumentOrname(fileName);
//加个时间戳,尽量避免文件名称重复
fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + "_" + fileName;
materialDocument.setDocumentName(fileName);
//TODO String filePath = FILE_URL_PREFIX + File.separator + fileName;
String filePath = "c:/temp" + File.separator + fileName;
materialDocument.setFileUrl(filePath);
//创建文件路径
File dest = new File(filePath);
//判断文件是否已经存在
if (dest.exists()) {
return ResponseUtil.status_400();
}
//判断文件父目录是否存在
if (!dest.getParentFile().exists()) {
dest.getParentFile().mkdir();
}
//上传 保存文件
file.transferTo(dest);
//调用文件
Map<String,Object> documentData = JSONObject.parseObject(data);
tenderDocumentService.addTenderDocument(materialDocument,documentData);
return ResponseUtil.status_200();
} catch (Exception e) {
LOGGER.error("uploadFile 异常 e:" + e);
return ResponseUtil.status_500();
}
}