java 文件上传工具包
- 主要有两个方法:单文件上传和多文件上传
@Slf4j
public class UploadFileUtil {
//上传单张图片
public String uploadPicture(MultipartFile photo) throws IOException {
String path = ResourceUtils.getURL("classpath:").getPath() + "static/";
String fileName = snowflakeUtil.get().toString() + photo.getOriginalFilename();
File file = new File(path, fileName);
if (!file.getParentFile().exists()) {
file.getParentFile().mkdir();
}
photo.transferTo(file);
log.warn("文件上传成功,文件名称为:--->" + fileName);
String resultUrl = fileName;
log.warn("文件上传的完整路径为:--->" + resultUrl);
return resultUrl;
}
//上传多张图片
public String uploadPictures(MultipartFile[] photos) throws FileNotFoundException {
//获取文件上传的路径
String path = ResourceUtils.getURL("classpath:").getPath() + "static/";
String fileName = null;
//定义一个数据,来存放他们存放的图片的路径
ArrayList<String> list = new ArrayList<>();
for (MultipartFile photo : photos) {
try {
fileName = snowflakeUtil.get().toString() + photo.getOriginalFilename();
File file = new File(path, fileName);
if (!file.getParentFile().exists()) {
file.getParentFile().mkdir();
}
//完成上传
photo.transferTo(file);
//实际的图片存放路径
String resultUrl = fileName;
list.add(resultUrl);
} catch (IOException e) {
e.printStackTrace();
}
}
log.info("图片存放路径为:--->" + list.toString());
return list.toString();
}
}