SpringBoot上传本地图片生成图片链接 SpringBoot 利用MultipartFile上传本地图片生成图片链接的实现方法
流萤点火 人气:0想了解SpringBoot 利用MultipartFile上传本地图片生成图片链接的实现方法的相关内容吗,流萤点火在本文为您仔细讲解SpringBoot上传本地图片生成图片链接的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:SpringBoot上传本地图片,springboot生成图片链接,下面大家一起来学习吧。
方法一
实现类:
public String fileUpload(MultipartFile file) { if(file == null){ return null; } String fileName = file.getOriginalFilename(); fileName = FileUtil.renameToUUID(fileName); //自定义保存到本地路径 String uploadpath = "D:/image/"; try{ FileUtil.uploadFiles(file.getBytes(), uploadpath,fileName); }catch (Exception e){ throw new SignException(001,"图片上传出错"+uploadpath); } //localhost:8080 String url = "/static/" + fileName; return url; }
工具类:
public class FileUtil { //图片上传 public static void uploadFiles(byte[] file, String filePath, String fileName) throws Exception { File targetFile = new File(filePath); if (!targetFile.exists()) { targetFile.mkdirs(); } FileOutputStream out = new FileOutputStream(filePath + fileName); out.write(file); out.flush(); out.close(); } //创建新的文件名 public static String renameToUUID(String fileName) { return UUID.randomUUID() + "." + fileName.substring(fileName.lastIndexOf(".") + 1); } }
浏览器输入ip地址端口号+自己的生成url就可以访问了:
localhost:8080/ + url
方法二:
配置文件
#=============文件上传========# # 文件访问路径 file.path=/upload/** # 静态资源文件访问路径 file.staticPath=/upload #文件保存的绝对路径 file.address=d://springbootimage/ #是否支持 multipart 上传文件 spring.servlet.multipart.enabled=true #最大支持文件大小 spring.servlet.multipart.max-file-size=30MB #最大支持请求大小 spring.servlet.multipart.max-request-size=30MB
//获取图片上传的配置路径 @Value("${file.address}") String fileAdress; //用户访问的图片路径 @Value("${file.staticPath}") String upload; @RequestMapping("/upload") @ResponseBody public String upload(MultipartFile file){ try { //定义上传文件的前缀 String pre = ""; //保证文件上传后 存到服务器的文件名的唯一性 pre = UUID.randomUUID()+""; //获取文件的后缀名 String suffix = ""; if(file != null){ //.jpg String originalName = file.getOriginalFilename(); suffix= originalName.substring(originalName.lastIndexOf(".")+1); } //文件名 String fileName = pre+suffix; //定义 文件上传的全路径 String filePath = fileAdress + "\\" + fileName ; //创建file对象 File f = new File(filePath); //目录是否存在,不存在则创建 if(!f.isDirectory()){ f.mkdirs(); } //上传文件 file.transferTo(f); String url = upload+fileName ; return url; } catch (IOException e) { e.printStackTrace(); } return "上传失败"; }
加载全部内容