springboot上传文件到文件夹

springboot上传文件到文件夹springboot上传文件至项目当前路径下的文件夹关键代码,之后会分享完整代码到gitee默认上传文件到文件夹/***默认上传文件到文件夹**@paramfolder默认文件夹*@paramfile上传的文件*@return*/privateStringmyfileUp(Stri…

大家好,又见面了,我是你们的朋友全栈君。

springboot上传文件至项目当前路径下的文件夹

关键代码,之后会分享完整代码到gitee

  1. 默认上传文件到文件夹

     /** * 默认上传文件到文件夹 * * @param folder 默认文件夹 * @param file 上传的文件 * @return */
        private String myfileUp(String folder, MultipartFile file, String substring) { 
         
            LocalDate today = LocalDate.now();
            //项目当前路径
            //String filePath = ClassUtils.getDefaultClassLoader().getResource("").getPath() + "static/";
            //String filePath = ClassUtils.getDefaultClassLoader().getResource("").getPath();
            //String filePath = "/usr/local/bison/product-service/static";
            ApplicationHome home = new ApplicationHome(getClass());
            String filePath = home.getSource().getParentFile().toString() + "/static/";
            System.out.println("filePath" + "==================" + filePath);
    
            //按年月保存文件夹
            String saveName = File.separator + today.getYear() + "." + today.getMonthValue() + File.separator;
    
            String fileCode = "";
    
            if (substring.equals("")) { 
         
                fileCode = UUID.randomUUID().toString().trim().replaceAll("-", "");
            } else { 
         
                //文件名称
                fileCode = UUID.randomUUID().toString().trim().replaceAll("-", "") + "_" + substring;
            }
            //文件保存
            String returnName = FileUpload.fileUp(file, filePath + folder + saveName, fileCode);
            saveName = folder + saveName + returnName;
            logger.warn("This file has been uploaded: " + saveName);
            return saveName;
        }
    
  2. 上传文件类

    /** * @version 1.0 * @Author peter * @Date 19-4-3 上午10:41 * @Description //上传文件 * @Param * @return **/
    public class FileUpload { 
         
    
        /** * @param file //文件对象 * @param filePath //上传路径 * @param fileName //文件名 * @return 文件名 */
        public static String fileUp(MultipartFile file, String filePath, String fileName) { 
         
            String extName = ""; // 扩展名格式:
            try { 
         
                if (file.getOriginalFilename().lastIndexOf(".") >= 0) { 
         
                    extName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
                }
                copyFile(file.getInputStream(), filePath, fileName + extName).replaceAll("-", "");
            } catch (IOException e) { 
         
                System.out.println(e);
            }
            return fileName + extName;
        }
    
        /** * 写文件到当前目录的upload目录中 * * @param in * @param dir * @param realName * @throws IOException */
        private static String copyFile(InputStream in, String dir, String realName)
                throws IOException { 
         
            //没有就创建新文件夹不然下面文件拷贝会报异常
            File file = new File(dir, realName);
            if (!file.exists()) { 
         
                if (!file.getParentFile().exists()) { 
         
                    file.getParentFile().mkdirs();
                }
                file.createNewFile();
            }
            //org.apache.commons.io 下的FileUtils(很强大可以操作一下)
            //文件拷贝
            FileUtils.copyInputStreamToFile(in, file);
            return realName;
        }
    }
    
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138681.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号