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();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构