SpringBoot 实现文件上传,图片上传并显示功能

我先看一下《颈椎病康复指南》再给大家说怎么实现的这两个功能,毕竟只是一个新手,解决这种复杂点的问题(相对而言),还是需要花费大量时间的,这篇文章花了两天的时间才实现的功能,现在就记录一下使用 springboot 怎么实现文件上传下载的。

我这里使用的是 springboot 2.0.3,不需要导入相关 jar 包,2.x 的版本已经整合进去了,直接使用即可。

spring 官网提供了 springboot 的文件上传下载案例,这是网址:https://spring.io/guides/gs/uploading-files/,使用的是流的输出,对于我这个新手来说,直接不理解,所以略过,通过网上查阅大量资料,终于把问题解决了。下面的案例是 springboot2.x 图片上传与回显。我使用的工具是 idea。

1、创建 idea 默认的 springboot 项目,我的版本是 2.0.3

2、创建一个控制层 FileController

package com.rainy.controller;import org.apache.catalina.servlet4preview.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;import java.io.*;
import java.util.UUID;/*** 文件上传*/
@Controller
public class FileController {@GetMapping(value = "/file")public String file() {return "file";}@PostMapping(value = "/fileUpload")public String fileUpload(@RequestParam(value = "file") MultipartFile file, Model model, HttpServletRequest request) {if (file.isEmpty()) {System.out.println("文件为空空");}String fileName = file.getOriginalFilename();  // 文件名String suffixName = fileName.substring(fileName.lastIndexOf("."));  // 后缀名String filePath = "D://temp-rainy//"; // 上传后的路径fileName = UUID.randomUUID() + suffixName; // 新文件名File dest = new File(filePath + fileName);if (!dest.getParentFile().exists()) {dest.getParentFile().mkdirs();}try {file.transferTo(dest);} catch (IOException e) {e.printStackTrace();}String filename = "/temp-rainy/" + fileName;model.addAttribute("filename", filename);return "file";}
}

3、创建 MyWebMvcConfigurer,这里是配置资源映射路径,详细点的介绍看这篇文章:https://blog.csdn.net/qq_38762237/article/details/81283241

/*** 资源映射路径*/
@Configuration
public class MyWebAppConfigurer implements WebMvcConfigurer {@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/temp-rainy/**").addResourceLocations("file:D:/temp-rainy/");}
}

4、jsp 页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body><form action="/fileUpload" method="post" enctype="multipart/form-data"><label>上传图片</label><input type="file" name="file"/><input type="submit" value="上传"/></form><p>图片:</p><img src="${filename }"/>
</body>
</html>

注意一点:我是使用 jsp 引擎来渲染,因为我不会用 Thymeleaf,添加 jsp 页面,springboot 使用 jsp 页面是需要进行配置 jsp 整合的,默认的是 Thymeleaf 的页面,简单的就是 HTML 页面

springboot 配置 jsp 页面的方法:https://blog.csdn.net/qq_38762237/article/details/81283352

推荐阅读:Spring Cloud Alibaba

  • 【Spring Cloud Alibaba】微服务基础知识篇
  • 【Spring Cloud Alibaba】Nacos 分布式配置
  • 【Spring Cloud Alibaba】Nacos 服务注册与发现
  • 【Spring Cloud Alibaba】Dubbo 分布式服务调用
  • 【Spring Cloud Alibaba】Sentinel 服务熔断和限流
  • 【Spring Cloud Alibaba】Gateway 分布式网关
  • 【Spring Cloud Alibaba】Boot Admin 端点监控
  • 【Spring Cloud Alibaba】Ribbon 负载均衡器
  • 【Spring Cloud Alibaba】Oauth2 授权认证服务
  • 【Spring Cloud Alibaba】Mybatis Plus 持久层
  • 【Spring Cloud Alibaba】Mybatis Plus 代码生成器
  • 【Spring Cloud Alibaba】Seata 分布式事务
  • 【Spring Cloud Alibaba】Sleuth + Zipkin 链路追踪
  • 【Spring Cloud Alibaba】Swagger 聚合接口文档

微信公众号

【SpringBoot学习】5、SpringBoot 实现文件上传,图片上传并显示功能相关推荐

  1. 文件上传(图片上传) 大小限制的配置 及注意点

    文件上传(图片上传) 设置 大小 注意点 //检查文件是否为空if (multipartFile.isEmpty()){return "文件为空";}//检查文件大小 209715 ...

  2. SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传

    SpringMVC:学习笔记(10)--整合Ckeditor且实现图片上传 配置CKEDITOR 精简文件 解压之后可以看到ckeditor/lang下面有很多语言的js,如果不需要那么多种语言的,可 ...

  3. 淘宝店铺上新图片上传获取请求方法

    淘宝上新图片上传获取请求方法如下: 1.请求方法:POST [支持高并发同时请求] 点击获取请求key和secret Headers: 参数名称 参数值 是否必须 示例 备注 Content-Type ...

  4. 超详细的springBoot学习教程,springboot学习看这篇就够了

    springBoot学习 https://docs.spring.io/spring-boot/docs/2.2.6.RELEASE/reference/html/index.html (官方文档) ...

  5. moba上传文件到服务器,图片上传到远程服务器上的方法

    图片上传到远程服务器上的方法 内容精选 换一换 将文件上传至Windows云服务器一般会采用MSTSC远程桌面连接的方式.本节为您介绍本地Windows计算机通过远程桌面连接,上传文件至Windows ...

  6. 【Springboot学习】SpringBoot集成Shiro前后端分离使用redis做缓存【个人博客搭建】

    shiro-redis 目录 shiro-redis 下载 shiro-core/jedis 版本对比图 使用前 如何配置? 设置文件 Redis 独立 Redis哨兵 Redis 集群 Spring ...

  7. html input type=file 文件上传; 图片上传; 图片闪烁

    (1)input file 对话框和 获取选中文件 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  8. PPTPDF文件转换成图片上传OSS

    PPTPDFIMAGE 先把文件上传至本地,再去读取文件转变上传. <dependency><groupId>org.apache.pdfbox</groupId> ...

  9. gtp java 文件传输_5_1_图片上传

    图片上传 一 需求 1 图片上传到本地: 2 图片上传到七牛云. 效果图: 二 具体代码实现 1 ToutiaoUtil.java: 用来判断上传的文件名是否合格: packagecom.nowcod ...

  10. h5 ajax php 图片上传,图片上传生成海报H5技术详解

    我想很多经常做H5同学都会遇到过让用户上传照片的这种需求,那我这里给大家分享一些我常用的一些方法~废话不多时候,下面可以写一些干货,如果有更好的方法欢迎留言讨论! 首先,需要准备一些需要用到的东西. ...

最新文章

  1. 32位md5解密_用户名与密码前后加密、后台解密实现方案
  2. 扯淡设计模式之装饰者模式
  3. 编译cegcc 0.59.1
  4. 模拟银行取钱 (多线程操作的好处)
  5. MongoDB常用命令示例
  6. python环境变量的配置 alias_vim-python环境配置
  7. matlab数字仿真实验,DVR+备用电源自动投入的MATLAB数字仿真实验仿真实验
  8. oracle 静默 建库,静默安装Oracle 11gR2软件并且手动建库
  9. mysql的sql优化工具下载_MySQL SQL查询优化工具EverSQL
  10. 洛谷—— P2658 汽车拉力比赛
  11. 【北大知识图谱】知识图谱的关键技术及其智能应用
  12. [原创]经典软件测试技术分类
  13. 蓝桥杯C语言程序设计真题
  14. 用VS2019编译librdkafka库
  15. Vista 如何关闭UAC(用户帐户控制)
  16. python 正则表达式 前瞻_Python的正则表达式
  17. 游侠客php,华东推荐徒步线路之轻户外经典线路——杭宣古道
  18. 斯坦福大学公开课:乔布斯演讲
  19. 屏蔽不讲robots规则的国外垃圾蜘蛛
  20. 【RDMA】基于RoCE的应用程序的MTU注意事项|探测网络中的MTU设置

热门文章

  1. for循环canvas渲染图片
  2. python自我总结笔记、加上一些自己思考_2020.1 月 阿巛个人总结
  3. 【FacebookSDK学习笔记】登录Facebook
  4. 网站api自己怎么写_网站seo优化中文章标题怎么写?
  5. 源码分析教程5部曲之1——漫游C语言-杨振平-专题视频课程
  6. Jenkins配置流水线
  7. Python实现布林带策略
  8. 事业单位和公务员的面试方式有什么区别?
  9. 度盘搜失效?这款网盘搜索神器万万别错过!
  10. 2018数字化首席营销官峰会暨华鹰奖颁奖典礼即将召开