首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >文件上传工具类

文件上传工具类

作者头像
杨校
发布2022-03-09 14:24:07
发布2022-03-09 14:24:07
1.6K0
举报
文章被收录于专栏:Java技术分享圈Java技术分享圈
代码语言:javascript
复制
package cn.javabs.pet.util;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Objects;

import org.springframework.web.context.ContextLoader;
import org.springframework.web.multipart.MultipartFile;

/**
 * 上传工具类
 * spring mvn支持
 */
public class UploadUtil {
	

	/**
	 * 图片上传
	 * @return 返回相对路径
	 * @param photo 图片文件
	 * @param photoFileName 文件名
	 * @param savePath 文件保存路径(相对于web根目录)
	 * @return
	 * @throws Exception 
	 */
	public static String fileUpload(MultipartFile file) throws Exception{
		// 判断是否有上传文件
		if (Objects.isNull(file) || file.isEmpty() || Objects.isNull(file.getOriginalFilename())) {
			return null;
		}
		String savePath = "picture"; // 保存文件的相对目录
		String fileName = file.getOriginalFilename();
		// 文件存储路径
		String path = ContextLoader.getCurrentWebApplicationContext().getServletContext().getRealPath("/")+savePath;			
		// 获取当前文件类型
		String type = fileName.substring(fileName.lastIndexOf(".")+1, fileName.length());
        // 获取当前系统时间字符串
		String time = new SimpleDateFormat("yyMMddssSSS").format(new Date());
		// 构建新文件名
		String newFileName = time+"."+type;
		// 按指定路径重命名构建文件
		File savefile = new File(path,newFileName);
		// 若保存文件的文件夹不存在则创建
		if(!savefile.getParentFile().exists()){
			savefile.getParentFile().mkdirs();
		}
		System.out.println("上传文件绝对路径: "+savefile.getPath());
		file.transferTo(savefile);
		return savePath+"/"+newFileName;
	}

}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档