大家好,又见面了,我是你们的朋友全栈君。
springboot上传文件至项目当前路径下的文件夹
关键代码,之后会分享完整代码到gitee
-
默认上传文件到文件夹
/** * 默认上传文件到文件夹 * * @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; }
-
上传文件类
/** * @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账号...