SSM框架实现图片上传并查询数据库中的图片(多图片上传请看下篇博客)
第一步:首先要在我们的springMVC.xml文件中添加上传文件解析器
<!-- 定义文件上传解析器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 设定默认编码 --> <property name="defaultEncoding" value="UTF-8"></property> <!-- 设定文件上传的最大值 --> <property name="maxUploadSize" value="99999999"></property> </bean>
第二步:然后我们要在WebRoot目录下创建一个“upload”文件夹
这个名字你们可以随便取,调用的时候就调用你取的这个名字就行了
第三步:上传图片的jsp页面中的代码:
<form action="${pageContext.request.contextPath}/addImg" method="post" enctype="multipart/form-data"><table ><tr><td>上传图片:</td><td><input type="file" name="file" /></td><!--这个name=“file”并不是数据库的字段名哦--></tr></table><button type="submit" >保存</button>
</form>
显示图片的jsp页面中的代码:
<c:forEach var="b" items="${imgList}"><img src="http://localhost:8080/你的项目名/${b.img}">
</c:forEach>
第四步:上传图片的Controller类的代码(这里面的“upload”就是我们创建的文件夹的名称):
@Controller
public class ImgController {@Autowiredprivate ImgService imgService;@RequestMapping("/addImg")public String addImg(HttpServletRequest request, Img img,@RequestParam(value="file")MultipartFile pictureFile) throws Exception {//这个RequestParam(value="file")的是我们在jsp的name=“file”// 使用UUID给图片重命名,并去掉四个“-”String name = UUID.randomUUID().toString().replaceAll("-", "");// 获取文件的扩展名String ext = FilenameUtils.getExtension(pictureFile.getOriginalFilename());// 设置图片上传路径String url = request.getSession().getServletContext().getRealPath("/upload");System.out.println(url);// 以绝对路径保存重名命后的图片pictureFile.transferTo(new File(url + "/" + name + "." + ext));// 把图片存储路径保存到数据库img.setImg("upload/" + name + "." + ext);imgService.addImg(img);// 重定向到查询所有用户的Controller,测试图片回显return "redirect:/imgList";}
查询图片的Controller类的代码:
@RequestMapping(value = "/imgList")public String imgList(Model model) throws Exception {List<Img> imgList= imgService.imgList();model.addAttribute("imgList", imgList);return "allImg";}
如果想看多图片上传,可以去看一下我下篇博客
如有不懂可以评论,我会回复的。
SSM框架实现图片上传并查询数据库中的图片(多图片上传请看下篇博客)相关推荐
- 用纯ASP代码实现图片上传并存入数据库中
用纯ASP代码实现图片上传并存入数据库中 热 ★ 用纯ASP代码实现图片上传并存入数据库中 用ASP编写网站应用程序时间长了,难免会遇到各式各样的问题,其中关于如何上传文件到服务器恐 ...
- SSM框架之酒店管理系统三(菜单数据库设计,菜单列表查询渲染)
SSM框架之酒店管理系统三(菜单数据库设计,菜单列表查询渲染) 参考LAYUI MINI官网给出的数据库设计规范 Java示例(spring) · layuimini开发手册 (99php.cn) 数 ...
- 历史上的今天mysql数据库包含详情分类以及图片(免费分享)
历史上的今天mysql数据库包含详情分类以及图片(免费分享) 附下载地址:https://www.wjcms.net/archives/%E5%8E%86%E5%8F%B2%E4%B8%8A%E7%9 ...
- [工具]EMAGNET:从Pastebin上传的泄漏数据库中捕获电子邮件地址和密码
title: "[工具]EMAGNET:从Pastebin上传的泄漏数据库中捕获电子邮件地址和密码" date: 2019-09-20T10:54:24+08:00 lastmod ...
- 查询数据库中数据的年份_本地公开数据中的年份
查询数据库中数据的年份 由Alisha Green撰写 全国各州和直辖市在开放数据方面又充满了令人鼓舞的消息. 从海岸到海岸,各种规模的市政当局都批准了新的开放数据政策,现有的开放数据计划已经成熟并引 ...
- mysql查询m到n条数据库,对查询数据库中第M到N条记录的思考
呵呵,以前听庄明学长说过查询数据库中第M到N条记录的好多种方法,自己为是那样,但是从来没有实践过,今天学到Sql server 2005 的查询语句了,于是就想来实践实践自己的想法! 首先我要声明一下 ...
- java显示数据库_java查询数据库中的数据并显示
java查询数据库中的数据并显示 关注:93 答案:2 mip版 解决时间 2021-01-17 16:29 提问者笑低了眉眼 2021-01-17 04:11 button.addSelecti ...
- 查询数据库中所有表的记录数
查询数据库中所有表的记录数 方法1 直接查询,方法简单,但达不到想要的效果,记录数稍微多一点,总数就偏高 方法2 拼接 select count(主键id) 语句 方法1 直接查询,方法简单,但达不到 ...
- mysql查询数据库中所有字段的属性
大型项目中数据库中有成百上千张表,想要统计数据库中相同的字段名,不同的长度或类型,所有的字段属性. 利用简单的SQL帮助我们进行统计. 1.查询数据库中某个库所有字段的属性(指定数据库库名),若想查询 ...
最新文章
- OSChina 周五乱弹 —— 要作死就勇敢地作!
- Android 如何将Canvas上绘制的内容保存成本地图片
- 解决:Caused by: redis.clients.jedis.exceptions.JedisDataException: WRONGTYPE Operation against a key
- Zend AMF 相关文章
- 《Java编程思想》笔记10------字符串
- STP实验(指定特定交换机为根桥)
- 锐捷服务器有什么型号,锐捷管理服务器RG-RCMS-16
- 计算机组成与体系结构第一次试验:运算器实验
- C语言入门教程(一)
- 飞凌小课堂-RK3399开发板 linux双千兆网口方案-RTL8153
- 变转速数据集 -- 渥太华轴承数据集描述及下载链接
- rails kaminari text modify
- 解密中概股的“杀手”:做空者
- 物联网案例(一):将设备数据转换为明智决策
- 江苏计算机电缆报价,江苏价格低的阻燃计算机电缆
- 【MySQL】数据库中的三大范式
- 时间序列分析简介(一)
- 【IDEA】idea 调试技巧 异常断点 断点之前显示异常字段
- Redis学习笔记——快速入门
- 小米笔记本windows插入电源无法充满电问题处理