package com.kidgrow.filecenter.util; import cn.hutool.core.util.IdUtil; import com.kidgrow.filecenter.model.FileInfo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.digest.DigestUtils; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.Date; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020
* * @Description: 文件工具类
* @Project:
* @CreateDate: Created in 2020/2/18 11:25
* @Author: liuke */ @Slf4j public class FileUtil { private FileUtil() { throw new IllegalStateException("Utility class"); } public static FileInfo getFileInfo(MultipartFile file) throws Exception { //String md5 = fileMd5(file.getInputStream()); FileInfo fileInfo = new FileInfo(); // 将文件的md5设置为文件表的id fileInfo.setId(IdUtil.fastSimpleUUID()); fileInfo.setName(file.getOriginalFilename()); fileInfo.setContentType(file.getContentType()); if (fileInfo.getContentType().startsWith("image/")) { fileInfo.setIsImg(true); } else if (fileInfo.getContentType().startsWith("multipart")){ String extendName = file.getOriginalFilename().substring(file.getOriginalFilename().indexOf(".")+1,file.getOriginalFilename().length()).toLowerCase(); if (extendName.equals("png") || extendName.equals("bmp") || extendName.equals("jpg") || extendName.equals("jpeg") || extendName.equals("gif")) { fileInfo.setIsImg(true); } else { fileInfo.setIsImg(false); } } else { fileInfo.setIsImg(false); } fileInfo.setSize(file.getSize()); fileInfo.setCreateTime(new Date()); return fileInfo; } /** * 文件的md5 * * @param inputStream * @return */ public static String fileMd5(InputStream inputStream) { try { return DigestUtils.md5Hex(inputStream); } catch (IOException e) { log.error("fileMd5-error", e); } return null; } public static String saveFile(MultipartFile file, String path) { try { File targetFile = new File(path); if (targetFile.exists()) { return path; } if (!targetFile.getParentFile().exists()) { targetFile.getParentFile().mkdirs(); } file.transferTo(targetFile); return path; } catch (Exception e) { log.error("saveFile-error", e); } return null; } public static boolean deleteFile(String pathname) { File file = new File(pathname); if (file.exists()) { boolean flag = file.delete(); if (flag) { File[] files = file.getParentFile().listFiles(); if (files == null || files.length == 0) { file.getParentFile().delete(); } } return flag; } return false; } }