MultipartFile转File
最好用的
MultipartFile multiFile;
// 获取文件名
String fileName = multiFile.getOriginalFilename();
// 获取文件后缀
String prefix = fileName.substring(fileName.lastIndexOf("."));
File file = File.createTempFile(fileName, prefix);
multiFile.transferTo(file);
if (file.exists()) {
file.delete();
}
上传文件
/**
* 上传文件到指定路径
* @param multipartFile:文件
* @param prefix:匹配后缀名是否合格
* @return
*/
public static String uploadPicture(MultipartFile multipartFile){
try {
String fileName = multipartFile.getOriginalFilename();
String filePrefix = fileName.substring(fileName.lastIndexOf("."));
File file = new File(path+newFileName);
// 如果父文件夹不存在,则创建
File fileParent = file.getParentFile();
if (!fileParent.exists()) {
fileParent.mkdirs();
// 新建文件夹、需要对文件授权(此处授予最高权限)
Runtime.getRuntime().exec(" chmod 777 " + path);
}else{
// 存在原图片,则删除
if (file.exists()) {
file.delete();
}
}
// 将内存的数据写到磁盘上,文件存储
multipartFile.transferTo(file);
// 写完数据,对该图片进行授权,方便其余用户删除 本地测试就注释掉
Runtime.getRuntime().exec(" chmod 777 " + path + newFileName);
return path + newFileName;
} catch (IOException e) {
log.error(e.getMessage());
Assert.state(false, "上传文件失败!");
}
return "";
}