1.
public String uploadImg(MultipartFile file,HttpServletRequest request) {
String path = request.getSession().getServletContext().getRealPath("/")+ "resources"
+ File.separator +"home";
if (!file.isEmpty()) {
List<String> fileTypes = new ArrayList<String>();
fileTypes.add("png");
fileTypes.add("jpg");
fileTypes.add("gif");
fileTypes.add("svg");
fileTypes.add("psd");
fileTypes.add("jpeg");
fileTypes.add("bmp");
fileTypes.add("tiff");
this.getFile(file, path, fileTypes);
}
return FILE_NAME;
}
2.获取生成文件的file
public File getFile(MultipartFile imgFile, String brandName, List<String> fileTypes) {
String fileName = imgFile.getOriginalFilename();
// 获取上传文件类型的扩展名,先得到.的位置,再截取从.的下一个位置到文件的最后,最后得到扩展名
String ext = fileName.substring(fileName.lastIndexOf(".") + 1,
fileName.length());
// 对扩展名进行小写转换
ext = ext.toLowerCase();
File file = null;
if (fileTypes.contains(ext)) { // 如果扩展名属于允许上传的类型,则创建文件
file = this.creatFolder(brandName, fileName);
try {
imgFile.transferTo(file); // 保存上传的文件
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// this.scale(file);
}
return file;
}
3.生成文件
public File creatFolder(String brandName, String fileName) {
File file = null;
File firstFolder = new File(brandName);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss");
String date = sdf.format(new Date()); //当前日期格式化到秒
String random = RandomUtil.generateWord(); //获得随机数
String suffix = fileName.substring(fileName.lastIndexOf('.'));
String newfileName = date+random + suffix;
if (firstFolder.exists()) { // 如果一级文件夹存在,则检测二级文件夹
file = new File(brandName + "\\"+ newfileName);
} else { // 如果一级不存在,则创建一级文件夹
firstFolder.mkdir();
file = new File(brandName + "\\" + newfileName);
}
FILE_NAME=newfileName;
return file;
}
生成上传图片的文件
最新推荐文章于 2021-06-08 17:29:14 发布