SpringBoot+Tyhmeleaf+文件上传

本文介绍了如何在SpringBoot项目中结合Tyhmeleaf实现文件上传功能,详细阐述了从引入上传工具包,创建文件实体,设计HTML页面到控制器层处理的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件上传功能的开发流程

思路:
①引入“文件上传”功能的工具包;
②添加文件实体domain–Files;
③Html页面的使用方法;
④Controller层的调用方法

步骤:
1.引入“文件上传”功能的工具包
(文件上传的路径及其命名规则都封装在了这几个工具包内)
在这里插入图片描述

package com.***.util;
public class bConst1 {
    // 验证码
    public static final String SESSION_SECURITY_CODE = "sessionSecCode";
    // session用的用户
    public static final String SESSION_USER = "sessionUser";
    public static final String SESSION_MENU_RIGHTS = "sessionMenuRights";
    // 当前菜单
    public static final String SESSION_menuList = "menuList";
    // 当前菜单
    public static final String SESSION_allmenuList = "allmenuList";
    // 未登录时的菜单
    public static final String SESSION_nousermenuList = "nousermenuList";
    // 修改权限
    public static final String SESSION_QX = "QX";
    // 用户ID
    public static final String SESSION_USERID = "SX_USERID";
    // 用户名
    public static final String SESSION_UNAME = "SX_UNAME";
    // 登陆名
    public static final String SESSION_USERNAME = "SX_USERNAME";
    // 用户角色
    public static final String SESSION_USERROLEID = "SX_USERROLEID";
    // 用户所管理的所有下属区域列表(用户管理用)
    public static final String SESSION_USERAREALIST = "USERAREALIST";
    // 用户所管理的区域及所有下属区域列表(经纬度信息管理用)
    public static final String SESSION_MAPAREALIST = "MAPAREALIST";
    public static final String TRUE = "T";
    public static final String FALSE = "F";

    // 文件路径
    public static final String FILEPATH = "uploadFiles/";
    // 图片上传路径
    //	public static final String FILEPATHIMG = "uploadFiles/uploadImgs/";
    // 系统文件路径
    public static final String FILEPATHFILE = "uploadFiles/file/";
    // 系统文件路径
    public static final String FILEPATHBACKIMAGE = "uploadFiles/file/backimage/";
    //申请文件上传路径
    public static final String FILEPATHAPPLY = "uploadFiles/applyfile/";
    //导出节目excel文件压缩包临时文件夹
    public static final String FILEPATHPROTEMP = "uploadFiles/protemp/";
    //特种节目文件夹
    public static final String FILEPATHPROSPEC = "uploadFiles/audiofile/prospec/";
    //节目文件夹
    public static final String FILEPATHPER = "uploadFiles/audiofile/";

    public static final String[] LOGTYPE=new String[]{"登陆日志","操作日志"};

    public static final String SHOWTEXT = "SHOWTEXT";
}
package com.***.util;

//常量
public class bConstant1 {
    /** 文件上传/图片   根目录 */
    public static final String UPLOAD_PATH = System.getProperty("user.home") + "/upload/"; //bConst1.FILEPATHPER

    /** 图片目录 */
    public static final String IMG_FILE_NAME = "img";

    /** 图片相对路径 */
    public static final String VIRTUAL_IMG_PATH = "img/virtual";
}

package com.***.util;
import com.ruoyi.village.domain.Files;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;

public class bFileUtil1 {
    private static Logger logger = LoggerFactory.getLogger(bFileUtil1.class);
    /**
     * 图片存储 完整路径({user.home}/img/coldStone/XXX.jpg)
     * @param file
     * @return 返回相对路径
     */
    public static String saveImg(MultipartFile file,String saveName) {
        //获取文件上传的根目录 C:\Users\fama/upload/img
        String  path = bConstant1.UPLOAD_PATH + bConstant1.IMG_FILE_NAME; //改为bConstant.UPLOAD_PATH

        //拿到文件的后缀名和UUID进行拼接形成新的文件名
        //4ca64e85b1544c96b4a6154bb521476f.jpg
        //String saveName = bCommonUtil.getUuid() + "." + getFileSuffix(file.getOriginalFilename());
        logger.info(" --- 文件保存路径:{}, 文件保存名称:{},文件原名称:{} --- ", path, saveName,file.getOriginalFilename());

        // 保存
        try {
            // 保存文件图片
            File targetFile = new File(path);
            if (!targetFile.exists()) {
                targetFile.mkdirs();
            }
            file.transferTo(new File(path + "/" + saveName));
        } catch (Exception e) {
            e.printStackTrace();
            logger.debug("--- 文件保存异常:{} ---" + e.getMessage());
            return null;
        }
        String filePath =  bConstant1.UPLOAD_PATH;;
        //返回相对路径  img/virtual/4ca64e85b1544c96b4a6154bb521476f.jpg
        return saveName; //filePath + "/" + saveName
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值