基于SpringBoot-上传照片保存到本地,且回显照片
1:如何在数据库保存照片
将照片上传到本地后,数据库只需要保存照片名字即可(此名字是本地保存的文件的名字,通过UUID去重的名字,并不是展示照片时的照片名)。
数据表:
文件保存在本地:
2:控制层方法
**PhotoController:**SpringBoot的文件上传比较方便不需要引入其它依赖。通过SpringInitializr选择web,thymeleaf等场景即可。
@Controller
public class PhotosController {@Autowiredprivate PhotosService photosService;//负责跳转到主页,展示照片@RequestMapping("/")public String index(Model model){List<Photo> photos = photosService.list();model.addAttribute("photos",photos);return "index";}//负责跳转到添加照片页@RequestMapping("/up")public String up(){return "up";}//负责保存照片到本地@PostMapping("/upload")public String upLoad(@RequestParam("photoName")String name, @RequestPart("photo") MultipartFile photo) throws IOException {String fileName = null;if(!photo.isEmpty()){//获取源照片名String originalFilename = photo.getOriginalFilename();//获取照片后缀名String suffixName=originalFilename.substring(originalFilename.lastIndexOf('.'));//使用UUIDfileName= UUID.randomUUID().toString()+suffixName;//保存照片到磁盘photo.transferTo(new File("选择自己保存的路径(注意后面的//不要缺少)//"+fileName));}//创建photo对象Photo p=new Photo(null,name,fileName);//保存到数据库photosService.save(p);//重定向到照片展示页面return "redirect:/";}
}
3:前端文件上传表单
文件上传需要post, enctype="multipart/form-data"支持。
<form th:action="@{/upload}" method="post" enctype="multipart/form-data"><div>照片名:<input type="text" name="photoName"></div><div>照片:<input type="file" name="photo"></div><button type="submit">提交</button></form>
4:前端如何获取本地照片
创建并配置application.yaml: 通过spring.web.resources.static-locations配置本地访问路径
spring:servlet:multipart:max-file-size: 10MB max-request-size: 100MB web:resources: static-locations: file:自己选择保存的路径(注意后面的/不要缺少)/
前端展示照片: 这里使用thymeleaf的视图解析器,通过 <img th:src="@{/{path}(path=${p.path})}" width="20%" height="20%">
访问到本地照片。
实际访问路径:http://localhost:8080/文件名
<table border="1px" cellpadding="0" cellspacing="0"><tr><th>ID</th><th>Name</th><th>Photo</th></tr><tr th:each="p:${photos}"><td th:text="${p.id}"></td><td th:text="${p.name}"></td><td><img th:src="@{/{path}(path=${p.path})}" width="20%" height="20%"></td></tr></table>
5:效果
之前ssm框架整合,也尝试了照片上传加回显,不过之前未将照片保存在本地,而是保存在服务器上,只要清理target照片就会丢失,这次保存到本次,比上次稳定点。
基于SpringBoot-上传照片保存到本地,且回显照片相关推荐
- springboot 上传文件保存在本地磁盘
1.修改application.properties配置文件,设置保存磁盘地址(方便以后修改) upload.path = /Users/myname/Documents/upload/ 地址自定义即 ...
- java 图片上传 并保存服务器本地 后台 代码
java 图片上传后台代码,把图片保存到服务器本地盘,并且按照一天一个文件夹分开存放,易于管理,不说了直接上代码: @Controller @RequestMapping("/oa" ...
- springboot文件上传,单文件上传和多文件上传,以及数据遍历和回显
springboot文件上传,单文件上传和多文件上传 项目结构及pom.xml 创建文件表单页面 编写javabean 编写controller映射 MultipartFile类 @RequestPa ...
- SpringBoot上传文件到 后端服务器 或 云服务器(七牛云、阿里云、腾讯云等等都是一样的操作步骤)
文章目录 一.新建SpringBoot项目 1.pom.xml 2.application.yml 3.配置Swagger3 4.统一返回类Result 5.统一异常响应ErrorCode 二.上传文 ...
- 上传图片,Not allowed to load local resource,springboot上传
最近朋友找我,帮她做一个招聘的网站的demo,本来是不想做的,谁让是一个美女呢,没办法, 程序猿嘛,看见美女就.嘻嘻.哦!扯远了,话不多说直接就上. 1.所需要pom依赖有: <dependen ...
- springboot上传下载文件(4)--上传下载工具类(已封装)
因为在做毕设,发现之前的搭建ftp文件服务器,通过ftp协议无法操作虚拟机临时文件,又因为ftp文件服务器搭建的比较麻烦:而 hadoop的HDFS虽然可以实现,但我这里用不到那么复杂的:所以我封装了 ...
- SpringBoot上传下载文件及在线预览
SpringBoot上传下载文件及在线预览 今天大概就说说如何使用SpringBoot进行上传和下载以及在线预览文件 本篇主要介绍上传下载的功能,对于界面就简单一点,大致如下: 一.老规矩还是先看看小 ...
- Springboot上传视频到阿里云(视频点播)和aliyun-java-sdk-vod依赖报红问题
一.pom.xm中导入依赖 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-ja ...
- springboot上传文件到阿里云
springboot上传文件到OSS 前提声明,文章借鉴了https://blog.csdn.net/wonder_dog/article/details/81152307#commentsedit博 ...
- Java上传文件保存到指定路径
Java上传文件保存到指定路径 上代码 @PostMapping("/file-upload")@ApiOperation(value = "上传swagger.json ...
最新文章
- Linux多线程的同步------读写锁
- MATLAB基础操作--命令窗口
- 51nod 1179 最大的最大公约数 (打表计数法)
- mysql 查询设置调优_MySQl 查询性能优化相关
- linux ubantu扩展空间,ubuntu 扩展存储空间
- eclipse调试的时候查看变量出现com.sun.jdi.InvocationException occurred invoking method.
- Bootstrap 模态框插件Modal 的事件
- Linux 查看磁盘容量、查找大文件、查找大目录
- YUM更换源(1)--yum找不到安装包
- 动态规划实战6 leetcode-139. Word Break
- wget 网页爬虫,网页抓取工具
- KinhDown(度盘PC下载器)
- 2019年的读书印记
- 吉他调音软件 android,吉他调音器专业版
- 8月20日 网工学习 二层交换机功能 MAC地址 交换机的寻址 总结二层交换机,根据源MAC地址进行MAC地址表学习,根据目的MAC地址转发
- CC00388.CloudKubernetes——|KuberNetesCI/CD.V26|——|Jenkins.v06|自动构建Java应用.v06|报错处理|
- 【uniapp】如何设置单个页面背景颜色
- 解决VS Community“无法刷新此账户的凭证”和“无法添加此账户”的问题
- 基层管理者项目管理二三事
- 如何把自媒体平台文章同步到WordPress等网站