文件上传工具类

简介: 文件上传工具类
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;
  }

}


目录
相关文章
|
SQL 缓存 监控
druid数据源配置参数说明
druid数据源配置参数说明
2449 0
|
应用服务中间件
快速解决idea启动项目报错:Unable to open debugger port(127.0.0.1:58950):java.net.SocketException“socket closed
快速解决idea启动项目报错:Unable to open debugger port(127.0.0.1:58950):java.net.SocketException“socket closed
3255 0
|
10月前
|
图形学
Unity 使用VideoPlayer播放视频,实现播放,暂停,快进的效果
该UI搭建流程包括创建Render Texture和RawImage,添加Video Player组件并设置Target Texture与Video Clip。通过Event Trigger组件为滑动条添加拖拽事件,控制视频播放进度。代码实现中,`ShuiWenZhiShiButton`类管理视频播放、暂停、进度条更新及时间显示功能,并通过按钮切换不同视频。测试时可验证各功能是否正常运作。
|
索引 Python
%g是什么
`%g` 是 Python 字符串格式化中的一种格式说明符,用于表示浮点数或整数,能自动选择最合适的表示法。当数值为整数时,它显示整数;当数值较大或含小数时,它选择科学记数法或小数点记数法,并去掉无用的零。例如:
1713 1
|
9月前
|
存储 人工智能 运维
阿里云操作系统控制台——解决服务器磁盘I/O故障
阿里云操作系统控制台——解决服务器磁盘I/O故障
460 12
|
供应链 分布式数据库 区块链
区块链技术原理及其应用探索
区块链技术原理及其应用探索
320 2
|
存储 文件存储 数据安全/隐私保护
Windows部署开源文件管理器File Browser并实现远程访问本地文件
Windows部署开源文件管理器File Browser并实现远程访问本地文件
1106 1
|
Java 对象存储
java对接七牛云OSS上传
java对接七牛云OSS上传
312 2
|
安全 项目管理 数据库
PMP题库(二)
PMP题库(二)
796 1
|
负载均衡 数据管理
ClickHouse的分布式查询流程
ClickHouse的分布式查询流程