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. python_选择排序

    #选择排序 def insert_sort(li): for i in range (1,len(li)): # i表示摸到牌的下标 tem = li[i] j = i - 1 # j 是初始手中的牌 ...

  2. ArcGis中地理数据库(sde)中概念及常见函数

    以下概念及函数均在在Oracle中配置地理数据库(sde库)中使用: 一.空间类型 1.概念:存储几何数据的数据类型.所有空间信息均存储在空间列中:不存在其他的要素表.将空间信息包含在一个字段中使得在 ...

  3. Appium + Python App自动化第一个脚本

    今天跟大家讲解一个Appium和Python App自动化的脚本.[1]打开你的夜神模拟器(或者连接你的手机) [2]打开桌面的Appium [3]下载你要测的App的apk文件,放到桌面[4]拖动你 ...

  4. k8s设置pod运行完自动删除

    本环境apiserver.controller还要scheduler都是以pod的形式运行的,修改/etc/kubernetes/manifests下面对应的三个.yaml静态文件,加入 - --fe ...

  5. 攻防世界——web新手练习区解题总结<2>(5-8题)

    第五题cookie: 所需工具:burpsuite(需自行下载) 老规矩看完题,先获取在线场景,得到如下网页 那么什么是cookie呢?大体上就是网站为了识别用户身份而储存在用户本地终端上的数据,类型 ...

  6. Unity Prefab关联

    Unity3D研究院之Prefab里面的Prefab关联问题http://www.xuanyusong.com/archives/3042

  7. SSM整合+WebUpload使用(spring+springmvc+mybatis+maven)

      SSM框架整合以及webupload的集成与使用 在项目中最近用到了webupload.js,也方方面面遇到了不少问题,比如上传文件前对表单参数校验,当校验失败不予提交,及在文件上传成功后,选择同 ...

  8. C++类重载函数的function和bind使用

    在没有C++11的std::function和std::bind之前,我们使用函数指针的方式是五花八门,结构很繁琐难懂.C++11中提供了std::function和std::bind统一了可调用对象 ...

  9. Docker Compose 搭建 Redis Cluster 集群环境

    在前文<Docker 搭建 Redis Cluster 集群环境>中我已经教过大家如何搭建了,本文使用 Docker Compose 再带大家搭建一遍,其目的主要是为了让大家感受 Dock ...

  10. 解决Maven的JDK版本问题

    在pom文件中添加以下代码 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins&l ...