springboot 上传文件 demo

@Slf4j
public class FileUploadUtil {

    //文件大小
    private static long upload_maxsize = 800 * 1024 * 1024;

    public FileEntity createFile(String fileUploadPath, MultipartFile multipartFile, HttpServletRequest request) {
        FileEntity entity = new FileEntity();
        boolean bflag = false;
        String fileName = multipartFile.getOriginalFilename().toString();
        // 判断文件不为空
        if (multipartFile.getSize() != 0 && !multipartFile.isEmpty()) {
            bflag = true;
            // 判断文件大小
            if (multipartFile.getSize() <= upload_maxsize) {
                bflag = true;
            } else {
                bflag = false;
                log.info("文件大小超范围", multipartFile.getSize());
            }
        } else {
            bflag = false;
            log.info("文件为空");
        }
        if (bflag) {
            Date date = new Date();
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
            String format = simpleDateFormat.format(date);
            String[] str = format.split("-");
            //根据日期切分文件夹
            String logoPathDir = fileUploadPath + str[0]+File.separator+str[1]+File.separator+str[2];
            // 上传到本地磁盘
            File logoSaveFile = new File(logoPathDir);
            if (!logoSaveFile.exists()) {
                logoSaveFile.mkdirs();
            }
            String attachId = UUIDHelper.getUUID();
            //新名称
            String newFileName = fileName + "." + attachId;
            // 绝对路径
            String fileNamedirs = logoPathDir + File.separator + newFileName;
            File filedirs = new File(fileNamedirs);
            // 转入文件
            try {
                multipartFile.transferTo(filedirs);
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            // 源文件保存路径
            String aviPath = filedirs.getAbsolutePath();
            if (aviPath != null) {
                entity.setAttachId(attachId);
                entity.setFileName(fileName);
                entity.setNewFileName(newFileName);
                entity.setFilePath(aviPath);
                return entity;
            } else {
                return null;
            }
        } else {
            return null;
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值