SSM实现图片上传功能

效果

在前端页面点击上传图片功能按钮,即弹出文件管理器,选择图片并上传;

思路

  1. 在前端页面添加 input 标签,type选择file。
  2. 在后端controller编写方法。
  3. 方法体:
    • 定义一个文件保存的相对路径,本地运行的项目就定义本地路径,服务器项目就定义服务器路径。
    • 定义文件名。
    • 生成uuid作为文件名称、获得文件类型、文件名后缀、最后得到文件名、生成文件保存路径。
    • 把图片的相对路径写入数据库中。

前端代码

<form class="layui-form " action="${pageContext.request.contextPath}/home/add"  enctype="multipart/form-data" method="post" onsubmit="return sumbit_sure()" >

    <div class="layui-form-item">
<label class="layui-form-label">图片</label>
<div class="layui-input-inline">
<input type="file" name="file" >
</div>
</div> <div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" type="submit">立即提交</button>
</div>
</div> </form>

注意 !enctype="multipart/form-data" method="post" onsubmit="return sumbit_sure()" 必须填写

后端代码

@RequestMapping("/add")
public String add(Home home, Model model) throws IOException{ String sqlPath = null;
//定义文件保存的本地路径
String localPath="E:\酒店后台管理系统\程序\upload";
//定义 文件名
String filename=null;
if(!home.getFile().isEmpty()){
//生成uuid作为文件名称
String uuid = UUID.randomUUID().toString().replaceAll("-","");
//获得文件类型(可以判断如果不是图片,禁止上传)
String contentType=home.getFile().getContentType();
//获得文件后缀名
String suffixName=contentType.substring(contentType.indexOf("/")+1);
//得到 文件名
filename=uuid+"."+suffixName;
System.out.println(filename);
//文件保存路径
home.getFile().transferTo(new File(localPath+filename));
}
//把图片的相对路径保存至数据库
sqlPath = "/upload/"+filename;
System.out.println(sqlPath);
home.setImg(sqlPath); homeService.addHome(home);
model.addAttribute("home",home);
return "home_show";
}

使用SSM框架实现图片的上传的更多相关文章

  1. SSM框架-SpringMVC 实例文件上传下载

    一.新建一个Web工程,导入相关的包 springmvc的包+commons-fileupload.jar+connom-io.jar+commons-logging,jar+jstl.jar+sta ...

  2. ssm框架下实现文件上传

      1.由于ssm框架是使用Maven进行管理的,文件上传所需要的jar包利用pom.xml进行添加,如下所示: <properties> <commons-fileupload.v ...

  3. SSM框架中如何简便上传文件表单

    此种方式上传文件相对简单,以下均经测试成功,才提供到此. 以下为单个文件上传方式 分析:本次的工作目的是根据一级标题产生对应的二级标题,在每个二级标题下对应一个(file字段)新闻文件,当点击新闻文件 ...

  4. ssm框架下的文件上传和文件下载

    最近在做一个ssm的项目,遇到了添加附件和下载的功能,在网上查了很多资料,发现很多都不好用,经过摸索,发现了一套简便的方法,和大家分享一下. 1.在自己已经构建好的maven  web项目中 pom. ...

  5. PHP使用七牛云存储之图片的上传、下载、303重定向教程,CI框架实例

    网上关于七牛云存储的教程除了官网上的API文档,其他的资料太少了.研究了下API之后,现在已经能实现图片的上传和下载及上传之后的重定向. http://blog.csdn.net/cqcre/arti ...

  6. asp.net实现图片在线上传并在线裁剪

    1.说明 接上一篇文章uploadify实现多附件上传完成后,又突然用到头像上传并在线裁剪.在网上找个众多例子都没有符合要求的,有一篇文章写的不错,就是文旺老兄写的这篇Asp.Net平台下的图片在线裁 ...

  7. ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结

    相册 iphone的相册包含摄像头胶卷+用户计算机同步的部分照片.用户可以通过UIImagePickerController类提供的交互对话框来从相册中选择图像.但是,注意:相册中的图片机器路径无法直 ...

  8. 基于HTML5的可预览多图片Ajax上传

    一.关于图片上传什么什么的 在XHTML的时代,我们使用HTML file控件上传图片一次只能上传一张.要一次上传多图,做法是借助于flash.例如swfupload.js.可惜,使用复杂的点,比如f ...

  9. 用最简单的例子实现jQuery图片即时上传

    [http://www.cnblogs.com/Zjmainstay/archive/2012/08/09/jQuery_upload_image.html] 最近看了一些jQuery即时上传的插件, ...

随机推荐

  1. AQI分析

    A Q I  分 析 1.背景信息 AOI( Air Quality Index),指空气质量指数,用来衡量空气清洁或污染的程度.值越小,表示空气质量越好.近年来,因为环境问题,空气质量也越来越受到人 ...

  2. Python 爬虫+tkinter界面 实现历史天气查询

    文章目录 一.实现效果 1. python代码 2. 运行效果 二.基本思路 1. 爬虫部分 2. tkinter界面 一.实现效果 很多人学习python,不知道从何学起.很多人学习python,掌 ...

  3. Android开发之清除缓存功能实现方法,可以集成在自己的app中,增加一个新功能。

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 Android开发之清除缓存功能实现方法,可以集成在自己的app中,增加一个新功能. 下面是一个效果图 ...

  4. MPL心得

    1.右值引用变量是个左值,把一个右值引用参数继续传递给其他函数调用时,需要使用std::forward否则会按照左值匹配 2.const T和T const在匹配模板参数的时候是相同的,而const ...

  5. 关于前端Ajaxc传FormData后台如何接收转base64

    前端是Jquery的ajax,后台是C#MVC,代码如下: <------前端-----> var formData = new FormData(); formData.append(& ...

  6. Sorting It All Out (拓扑排序+思维)

    An ascending sorted sequence of distinct values is one in which some form of a less-than operator is ...

  7. uni-app 修改富文本信息中的图片样式

    var richtext= res.data.data.richtext; const regex = new RegExp('<img', 'gi'); richtext= richtext. ...

  8. 02_套接字编程(socket抽象层)

    1.套接字概述 1.套接概述: 套接是进行网络通信的一种手段(socket) 2.套接字分类:         流式套接字(SOCK_STREAM): 传输层基于tcp协议进行通信         数 ...

  9. 跟着兄弟连系统学习Linux-【day02】

    day02-20200528 p6.vmvare安装与使用         官网下载安装包,个人学习的时候要求不高,所以不用安装最新版本,用不到那么多的功能,保证稳定版本就好了,然后傻瓜式安装.注意安 ...

  10. 非旋Treap——维护数列

    https://www.luogu.org/problemnew/show/P3391 知识点:1.split:1.拆数值 2.拆排名 2.merge 3.截取l - r这个区间,先截l - 1出来, ...