@Slf4j
public class FileUploadUtil {
//文件大小
private static long upload_maxsize = 800 * 1024 * 1024;
public FileEntity createFile(String fileUploadPath, MultipartFile multipartFile, HttpServletRequest request) {
FileEntity entity = new FileEntity();
boolean bflag = false;
String fileName = multipartFile.getOriginalFilename().toString();
// 判断文件不为空
if (multipartFile.getSize() != 0 && !multipartFile.isEmpty()) {
bflag = true;
// 判断文件大小
if (multipartFile.getSize() <= upload_maxsize) {
bflag = true;
} else {
bflag = false;
log.info("文件大小超范围", multipartFile.getSize());
}
} else {
bflag = false;
log.info("文件为空");
}
if (bflag) {
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String format = simpleDateFormat.format(date);
String[] str = format.split("-");
//根据日期切分文件夹
String logoPathDir = fileUploadPath + str[0]+File.separator+str[1]+File.separator+str[2];
// 上传到本地磁盘
File logoSaveFile = new File(logoPathDir);
if (!logoSaveFile.exists()) {
logoSaveFile.mkdirs();
}
String attachId = UUIDHelper.getUUID();
//新名称
String newFileName = fileName + "." + attachId;
// 绝对路径
String fileNamedirs = logoPathDir + File.separator + newFileName;
File filedirs = new File(fileNamedirs);
// 转入文件
try {
multipartFile.transferTo(filedirs);
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// 源文件保存路径
String aviPath = filedirs.getAbsolutePath();
if (aviPath != null) {
entity.setAttachId(attachId);
entity.setFileName(fileName);
entity.setNewFileName(newFileName);
entity.setFilePath(aviPath);
return entity;
} else {
return null;
}
} else {
return null;
}
}
}
springboot 上传文件 demo
最新推荐文章于 2024-07-12 17:16:08 发布