原文地址:http://www.starchou.cn/detail/7
项目地址:https://git.dev.tencent.com/starchou666/myblog.git
先介绍背景:博主在创建这个博客的时候也是个纯小白。虽然本博客在比较早之前就已经可以运行了,但是实际上还有一些小bug没有修复,比如之前无法在编辑器中上传图片。经过一段时间的学习,博主终于学会了springboot环境下文件上传的流程,于是我从上周六开始解决上传图片的bug,今天终于解决啦。
编辑效果如图所示:

接下来我就介绍下bug修复的详细过程。
第一步:找到路由。
本博客用的是editor_md编辑器,所有路由还是比较好找的。

第二步:找到对应的控制器方法


在修改前,这部分里的内容是空的,所以我们点击编辑器的图片上传按钮是不会有效果的。
修改后代码如下:

@ApiOperation("markdown文件上传")
@PostMapping(value = "/uploadfile")
public @ResponseBody Map<String,Object> demo(@RequestParam(value = "editormd-image-file", required = false) MultipartFile file, HttpServletRequest request) {Map<String,Object> resultMap = new HashMap<String,Object>();//保存try {File imageFolder= new File(request.getServletContext().getRealPath("img/upload"));File targetFile = new File(imageFolder,file.getOriginalFilename());if(!targetFile.getParentFile().exists())targetFile.getParentFile().mkdirs();file.transferTo(targetFile);
//            BufferedImage img = ImageUtil.change2jpg(targetFile);
//            ImageIO.write(img, "jpg", targetFile);/*            file.transferTo(targetFile);*/
//            byte[] bytes = file.getBytes();
//            Path path = Paths.get(realPath + file.getOriginalFilename());
//            Files.write(path, bytes);resultMap.put("success", 1);resultMap.put("message", "上传成功!");resultMap.put("url","http://www.starchou.cn/img/upload/"+file.getOriginalFilename());} catch (Exception e) {resultMap.put("success", 0);resultMap.put("message", "上传失败!");e.printStackTrace();}System.out.println(resultMap.get("success"));return resultMap;
}

第三步:创建对应的文件夹
在项目文件夹\src\main\下建立webapp文件夹,最终的存储目录应该被创建为src\main\webapp\img\upload,可与代码中的:

File imageFolder= new File(request.getServletContext().getRealPath("img/upload"));

做对应的修改。
然后打包就可以啦,上传的图片会被存储在src\main\webapp\img\upload目录下。

springboot+editormd上传图片(超详细,如果有问题可留言,会及时回复哦)相关推荐

  1. SpringBoot整合Mybatis超详细流程

    SpringBoot整合Mybatis超详细流程 文章目录 SpringBoot整合Mybatis超详细流程 前言 详细流程 0.引入Mybatis 1.创建数据 2.创建程序目录 3.理解后台访问流 ...

  2. IDEA如何运行SpringBoot项目(超详细截图)

    []:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行! 博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端.后台.数据库.项目案 ...

  3. 如何在idea中创建一个SpringBoot项目(超详细教学)

    如何在idea中创建一个SpringBoot项目 目录 环境准备 1.1打开IDEA,点击New新建一个项目 1.2 使用Spring Initializr方式构建Spring Boot项目 1.3 ...

  4. Springboot介绍(超详细)

    目录 一.Spring和Springboot的区别及其注意事项什么? 二.忽略文件技巧,这样就可以减少很多不必要的文件生成 三.SpringBoot  Parent讲解 四.stater的介绍 五.引 ...

  5. SpringBoot整合SpringSecurity [超详细] (一)入门案例

    文章目录 前言 1. 主流安全框架有哪些 2. Spring Security为什么越来越火 3. 为什么现在越来越多的人选择Spring Security 一.Spring Security 简介 ...

  6. idea ssm打war包_使用idea新建springBoot+Gradle项目(超详细)

    一.先说下IDEA 跟Eclipse在一些名词的区别 idea中的new project类似于eclipse中的workspace. idea中的 module 则类似于eclipse中的 proje ...

  7. 一篇掌握SpringBoot+SpringCache+Redis超详细实例

    1.创建maven项目 2.pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xml ...

  8. 《SpringBoot篇》26.SpringBoot整合Jackson超详细教程(附Jackson工具类)

    陈老老老板

  9. 超详细springboot热部署

    超详细springboot热部署 ①修改依赖 <!--热部署--> <dependency><groupId>org.springframework.boot< ...

最新文章

  1. Git的工作区与暂存区
  2. oracle错误15260,【案例】Oracle报错ORA-00600 2663 产生的原因和解决办法
  3. 转 mvc项目中,解决引用jquery文件后智能提示失效的办法
  4. [HNOI2015]亚瑟王
  5. php amqp rabbitmq 介绍和使用
  6. java iterator_Java ArrayDeque iterator()方法与示例
  7. Linux内核驱动调试,Linux内核设备驱动之内核的调试技术笔记整理
  8. 批处理文件中获取当前所在路径的几种方法,以及写文件到txt
  9. Rust之控制流,条件语句,模式匹配
  10. jsp table 中多出行数据_数据分析 | 如何基于高斯曲线拟合15分钟生活圈距离衰减规律...
  11. 理论力学知识要点(五)
  12. 基于线性回归房价预测散点图和折线图
  13. 【用积分求不规则面积+抛物线方程】HDU-1071 The area
  14. PCF8591使用及Python控制
  15. linux文件系统与日志文件
  16. 极简创意编程:第7课——制作人工智能花盆
  17. 关于添加 HKEY_LOCAL_MACHINE32\Software 注册表问题
  18. 【1.7】docker —— 容器
  19. Mac系统下MySQLWorkbench出现no connection established问题
  20. 国家计算机一级考试题库百度云,全国计算机一级考试题库

热门文章

  1. 程序员成长之旅——Delphi实现一个简单的科学计算器
  2. 华为HCIE有什么方向?哪个最热门
  3. 关于浏览器插件的使用
  4. win10怎么玩经典扫雷?繁星软件园推荐大家试试Windows7Games吧,亲测好用的扫雷Win10电脑版下载!!!
  5. 【清华访谈】|陈丹琦:穿越多元文化,做独具特色的科研
  6. C++实现otsu算法
  7. Python3 16进制转10进制
  8. Android - 开发者选项中的一些必知必懂必会
  9. 基于嵌入式的远程温度检测控制(论文)
  10. 流行的邮件系统--extmail