查了很久,网上主要有两种方式,一种是会产生临时文件,一种不会。这里的方法属于第一种,不用第二种的原因是,第二种报错了
//获取原文件名
String fileName = multipartFile.getOriginalFilename();
//获取文件后缀
String suffixName = fileName.substring(fileName.lastIndexOf("."));
//生成文件前缀
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
Random r = new Random();
StringBuilder tempName = new StringBuilder();
tempName.append(sdf.format(new Date())).append(r.nextInt(100));
String prefix =tempName.toString();
//生成临时文件
File file = File.createTempFile(prefix, suffixName);
multipartFile.transferTo(file);
//删除临时文件
file.delete();