适用基于springboot框架的个人练习项目。实现了后端保存前端上传文件。
1,application.yml增加如下字段:
spring:
servlet: #设置服务器接受的最大文件尺寸
multipart:
max-file-size: 1024MB
max-request-size: 1024MB
web:
resources:
static-locations: classpath:static,file:X:/xxx/xxx
#classpath:static代表工程自带的static目录,
#file:后的路径则为新增的静态资源目录。
2,工具类中增加以下代码:
/**
*
* @param file 需要处理的文件流 可以是图片、视频、压缩包等。
* @param targetDir 文件保存的目标路径 "X:/XXX/XXX"
* @return false or true
*/
public boolean saveFile(MultipartFile file, String targetDir){
//得到文件的原始文件名
String fileName = file.getOriginalFilename();
//得到后缀
assert fileName != null;
String suffix = fileName.substring(fileName.lastIndexOf("."));
//得到唯一文件名 UUID.randomUUID() 获取由16进制字符串组成的一个唯一标识符
fileName = UUID.randomUUID()+suffix;
//准备保存图片文件夹的路径
File dirFile = new File(targetDir);
//判断文件是否存在
if (!dirFile.exists()){
//创建文件夹
dirFile.mkdirs();
}
//得到保存图片的完整路径
String filePath = targetDir+"/"+fileName;
//把图片文件保存到指定的路径 异常抛出
try {
file.transferTo(new File(filePath));
System.out.println("文件名称:"+fileName);
}catch (IOException e){
return false;
}
return true;
}