packagecom.weixiu.jingwei.utils;importnet.coobird.thumbnailator.Thumbnails;importorg.springframework.web.multipart.MultipartFile;importsun.misc.BASE64Encoder;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;importjava.nio.file.Files;importjava.nio.file.Path;importjava.nio.file.Paths;importjava.util.HashMap;importjava.util.Map;importjava.util.Objects;importjava.util.UUID;/*** @Author: 张学涛
* @Date: 2019-08-23 10:25
* @Version 1.0*/
public classPicUtil {private static String UPLOAD_FOLDER = "/opt/wxPhoto/";public static String singleFileUpload(MultipartFile pc1,String picName) throwsIOException {//logger.debug("传入的文件参数:{}", JSON.toJSONString(file, true));
if (Objects.isNull(pc1) ||pc1.isEmpty()) {return "";
}try{byte[] bytes =pc1.getBytes();
Path path= Paths.get(UPLOAD_FOLDER + "/");if (!Files.isWritable(path)) {
Files.createDirectories(path);
}
String extension= getFileExtension(pc1); //获取文件后缀
UUID uuid=UUID.randomUUID();
String str=uuid.toString();
String picname= str.substring(0, 8) + str.substring(9, 13) + str.substring(14, 18) + str.substring(19, 23) + str.substring(24);
String relativeAddr= picname+picName + extension; //唯一的名字接上后缀
Thumbnails.of(pc1.getInputStream()).size(1920, 1200) //写入
.outputQuality(1.0f).toFile(path + "/" +relativeAddr);//Thumbnails.of(pc1.getInputStream())//写入//.outputQuality(1.0f).toFile(path + "/" + relativeAddr);//logger.debug("文件写入成功...");
return Paths.get(path + "/" +relativeAddr).toString();
}catch(IOException e) {//e.printStackTrace();
return "null";
}
}//写一个删除方法,你们可以看情况修改
public staticString deFile(String path) {
String resultInfo= null;
Map modelMap = new HashMap();//String sb =area.getAreaName();;//sb.replace("/","\\");//String sb1 = "F:\\photos\\蛇皮玩意儿\\123\\瞎把.jpg";
File file = newFile(path);if(file.exists()) {if(file.delete()) {
resultInfo= "1-删除成功";
}else{
resultInfo= "0-删除失败";
}
}else{
resultInfo= "文件不存在!";
}//imgDomainURL:http://10.40.0.53:8888/jeecg-boot/sys/common/view/
returnresultInfo;
}public static boolean deleteDirectory(String dirPath) {//删除目录(文件夹)以及目录下的文件//如果sPath不以文件分隔符结尾,自动添加文件分隔符
boolean flag = false;
String a= null;if (!dirPath.endsWith(File.separator)) {
dirPath= dirPath +File.separator;
System.out.println("没有后缀符号‘/‘");
}
File dirFile= newFile(dirPath);//如果dir对应的文件不存在,或者不是一个目录,则退出
if (!dirFile.exists() || !dirFile.isDirectory()) {
System.out.println("不是目录");return false;
}
flag= true;
File[] files= dirFile.listFiles();//获得传入路径下的所有文件
for (int i = 0; i < files.length; i++) {//循环遍历删除文件夹下的所有文件(包括子目录)
if (files[i].isFile()) {//删除子文件
a =deFile(files[i].getAbsolutePath());
System.out.println(files[i].getAbsolutePath()+ " 目录文件删除成功");if (!flag) {break;//如果删除失败,则跳出
}
}else {//运用递归,删除子目录
flag =deleteDirectory(files[i].getAbsolutePath());if (!flag) {break;//如果删除失败,则跳出
}
}
}if (!flag) {return false;
}if(dirFile.delete()) {//删除当前目录
return true;
}return false;
}private staticString getFileExtension(MultipartFile File) {
String originalFileName=File.getOriginalFilename();return originalFileName.substring(originalFileName.lastIndexOf("."));
}
}