方法一

实现类:

    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:8080String 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")@ResponseBodypublic String upload(MultipartFile file){try {//定义上传文件的前缀String pre = "";//保证文件上传后 存到服务器的文件名的唯一性pre = UUID.randomUUID()+"";//获取文件的后缀名String suffix = "";if(file != null){//.jpgString 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 "上传失败";}

SpringBoot 利用MultipartFile上传本地图片生成图片链接相关推荐

  1. SpringBoot 使用MultipartFile上传组件实现本地上传用户头像

    GIF动图展示 SpringBoot 使用MultipartFile上传组件实现本地上传用户头像GIF效果图 本章目录 GIF动图展示 主要实现思路 1.使用MultipartFile需要引入的依赖 ...

  2. 【SpringBoot学习】5、SpringBoot 实现文件上传,图片上传并显示功能

    SpringBoot 实现文件上传,图片上传并显示功能 我先看一下<颈椎病康复指南>再给大家说怎么实现的这两个功能,毕竟只是一个新手,解决这种复杂点的问题(相对而言),还是需要花费大量时间 ...

  3. 无水印上传本地图片到网络获取地址+小书匠使用 +github和 七牛云 图床绑定--菜鸟小回

    无水印上传本地图片到网络获取地址+小书匠使用 +github和 七牛云 图床绑定 简介: 最近开始写博客,缺少一个Markdown编辑器.寻找了两三天终于找到了这款<小书匠>,可复制粘图, ...

  4. thymeleaf 使用图片url或者上传本地图片

    配置文件: # 声明图片的绝对路径和相对路径 file.upload.path=F://images/ file.upload.path.relative=/images/** 配置类: import ...

  5. tinymce4.x 上传本地图片(自己写个插件)

    tinymce是一款挺不错的html文本编辑器.但是添加图片是直接添加链接,不能直接选择本地图片. 下面我写了一个插件用于直接上传本地图片. 在tinymce的plugins目录下新建一个upload ...

  6. 富文本框TinyMCE4.8上传本地图片基本配置(前端篇)

    最近使用了一下TinyMCE富文本框,感觉是非常不错的一款,配置简单,界面优美,完全免费...推荐大家使用. 官方文档也比较容易阅读,大家有兴趣的可以自己去看看https://www.tiny.clo ...

  7. 解决MarkDown上传本地图片无法显示

    解决MarkDown上传本地图片无法显示 前言 提示:什么牛头马面写的代码,今天写个技术博客想插入一张图片发现无法显示,接着按流程在博客一顿找,发现我开头第一句,不知道怎么形容垃圾场里面找垃圾的心情. ...

  8. 有道云笔记markdown上传本地图片的方法

    有道云笔记markdown上传本地图片的方法   有道云笔记markdown模式非会员发现不能直接截屏粘贴图片了.后来网上搜集了下方法,发现了好几种解决办法.   当然,如果你一年,不差那两百块钱,直 ...

  9. kindeditor上传本地图片的问题

    终于给我发现kindeditor上传本地图片时,为什么出现服务器错误 原来demo.jsp里的: KE.show({ id : 'content1', imageUploadJson : '../.. ...

最新文章

  1. Java项目:(前端vue后台java微服务)在线考试系统(java+vue+springboot+mysql+maven)
  2. 第十章 基本数据结构——栈和队列
  3. python定时器timer_python通过线程实现定时器timer的方法
  4. linux(3):Linux MBR分区、挂载操作步骤,逻辑卷扩容操作
  5. 500道Java 必备面试题答案(过后即删)
  6. 好家伙,这才是最强的目标检测落地模型!
  7. 查看端口占用,并解除占用
  8. Style transfer系列论文之——Image Style Transfer Using Convolutional Neural Networks,CVPR, 2016
  9. 更适合私有云的网络部署模式-动态路由
  10. 常用方法总结--文件操作篇
  11. jq ui.dialog.js简介
  12. Riverbed助世界最大集装箱航运公司马士基实现数字化转型
  13. Ubuntu20.04 磁盘空间扩展教程
  14. python读取加密excel_python使用pywin32模块给excel文件加密解密
  15. 15Echarts:复杂数据展示
  16. colorkey口红怎么样_COLORKEY口红怎么样,好不好用?质量如何,耐用吗
  17. java的入口函数_java入口函数有几种
  18. 合作伙伴究竟有多重要?这家云服务商深有心得体会
  19. autodesk mudbox 2022 安装教程
  20. codeforces723 D. Lakes in Berland(并查集)

热门文章

  1. 获知局域网内他人的上网数据和行为
  2. Qt QThread
  3. toFixed() 踩坑----四舍六入 银行家算法
  4. 相位解包裹(一)一维相位解包裹
  5. 服务器安装MQTT服务器并启用websockets,配置SSL
  6. python手机端游戏排行_Python学习枯燥?这几款编程手游让你边玩边学习
  7. 嵌入式系统开发16——嵌入式实时操作系统uC/OS的简介及简单应用
  8. Thumbs.db文件
  9. VMware虚拟机无法同时开启多个
  10. 群晖NAS写入110MB/s读取2.1MB/s解决方法