1、添加依赖

<dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version>
</dependency>

2、在spring-mvc.xml中配置
上传要配置上传大小,单文件最大不超过 5 MB,
总大小不超过 45 MB

<!--文件上传配置-->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><!--设置字符集--><property name="defaultEncoding" value="UTF-8"/><!--设置上传文件大小--><property name="maxUploadSizePerFile" value="5242880"/><!--设置总大小--><property name="maxUploadSize" value="47185920"/>
</bean>

3、页面
文件上传表单设置 enctype=“multipart/form-data”

age contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>文件上传</title>
</head>
<body>
单个文件上传
<form action="${pageContext.request.contextPath}/upload.action" method="post"
enctype="multipart/form-data">头像: <input type="file" name="imgName" ><input type="submit">
</form>
<hr/>
多文件上传
<form action="${pageContext.request.contextPath}/uploadMany.action" method="post"
enctype="multipart/form-data">头像: <input type="file" multiple="multiple" name="fileMany" ><input type="submit">
</form>
<hr/>
多文件上传 分包处理
<form action="${pageContext.request.contextPath}/uploadManyPage.action" method="post"
enctype="multipart/form-data">头像: <input type="file" multiple="multiple" name="fileManyPage" ><input type="submit">
</form>
<hr/>
多文件上传 分包处理 工具类
<form action="${pageContext.request.contextPath}/uploadManyPageUtil.action" method="post"
enctype="multipart/form-data">头像: <input type="file" multiple="multiple" name="fileMany" ><input type="submit">
</form>
</body>
</html>

4、控制器

@Controller
public class UploadController {/*** 上传单个文件* @param imgName* @return*/@RequestMapping(value = "/upload.action",produces = "application/json;charset=utf-8")@ResponseBodypublic String upload(MultipartFile imgName){String originalFilename = imgName.getOriginalFilename();try {imgName.transferTo(new File("E:\\images",originalFilename));return "success";} catch (IOException e) {e.printStackTrace();return "error";}}@RequestMapping(value = "/uploadMany.action",produces = "application/json;charset=utf-8")@ResponseBodypublic String uploadMany(MultipartRequest request){List<MultipartFile> multipartFileList = request.getFiles("fileMany");try {for (int i = 0; multipartFileList!=null && i < multipartFileList.size() ; i++) {MultipartFile multipartFile = multipartFileList.get(i);String originalFilename = multipartFile.getOriginalFilename();multipartFile.transferTo(new File("E:\\images",originalFilename));}return "success";} catch (IOException e) {e.printStackTrace();return "error";}}/*** 多包处理图片* @param request* @return*/@RequestMapping(value = "/uploadManyPage.action",produces =
"application/json;charset=utf-8")@ResponseBodypublic String uploadManyPage(MultipartRequest request){// e:/images/2019/06/04/16/51/35/UUID.jpgList<MultipartFile> multipartFileList = request.getFiles("fileManyPage");try {for (int i = 0; multipartFileList!=null && i < multipartFileList.size() ; i++) {MultipartFile multipartFile = multipartFileList.get(i);//获取图片的名称  part D:imgsa.jsp  q.qwe.qwe.qwe.12.asd.asd.as.jspString originalFilename = multipartFile.getOriginalFilename();//获取文件类型String lastPath
=originalFilename.substring(originalFilename.lastIndexOf("."));//uuidString uuidPath = UUID.randomUUID().toString();//获取日期包String datePath = new SimpleDateFormat("yyyy\\MM\\dd\\HH\\mm\\ss").format(new
Date());//完成路径File file = new File("E:\\images",datePath);//判断文件夹是否存在if(!file.exists()){file.mkdirs();}String endPath ="E:\\images\\"+datePath+"\\"+uuidPath+lastPath ;System.out.println("endPath = " + endPath);//上传文件multipartFile.transferTo(new File(endPath));}return "success";} catch (IOException e) {e.printStackTrace();return "error";}}/*** 多包处理图片 工具类* @param request* @return*/@RequestMapping(value = "/uploadManyPageUtil.action",produces =
"application/json;charset=utf-8")@ResponseBodypublic Map<String,Object> uploadManyPageUtil(MultipartRequest request){return FileUploadUtil.fileUploadUtil(request,"fileMany","E:\\images\\");}
}

房屋发布前台页面(发布出租房)

<FORM id=add_action method=post name=add.action
action="addHouse" enctype="multipart/form-data"><%--multipart/form-data 大文件传输表单设置--%>
<DIV class=infos>
<TABLE class=field><TBODY><%--<TR>--%><%--<TD class=field>用户id</TD>--%><%--<TD><INPUT id=userID class=text type=text name=id value="${user.id}"> </TD></TR>--%><%--<TR>--%><TR><TD class=field>标  题:</TD><TD><INPUT id=add_action_title class=text type=text name=title> </TD></TR><TR><TD class=field>户  型:</TD><TD><SELECT class=text name=typeId><c:forEach items="${types}" var="t"><OPTION value=${t.id}>${t.name}</OPTION></c:forEach></SELECT></TD></TR><TR><TD class=field>面  积:</TD><TD><INPUT id=add_action_floorage class=text type=text
name=floorage></TD></TR><TR><TD class=field>价  格:</TD><TD><INPUT id=add_action_price class=text type=text name=price> </TD></TR><TR><TD class=field>房产证日期:</TD><TD><INPUT class=text type=date name=pubdate></TD></TR><TR><TD class=field>位  置:</TD><TD>区:<SELECT class=text name=district_id id="district"><c:forEach items="${districts}" var="d"><OPTION value=${d.id}>${d.name}</OPTION></c:forEach></SELECT> 街:<SELECT class=textname=streetId id="street"><OPTION selected value=1001>中关村大街</OPTION></SELECT> </TD></TR><TR><TD class=field>联系方式:</TD><TD><INPUT id=add_action_contact class=text type=text name=contact> </TD></TR><TR><TR><TD class=field>图片上传:</TD><TD><INPUT id=add1_action_contact class=text type=file name=pfile> </TD></TR><TR><TD class=field>详细信息:</TD><TD><TEXTAREA name=description></TEXTAREA></TD></TR></TBODY></TABLE>
<DIV class=buttons><INPUT   value=立即发布 type=submit>
</DIV></DIV></FORM>

控制器代码部分

@RequestMapping("addHouse")public String addUser(House house, HttpSession session, @RequestParam(value = "pfile",required = false) MultipartFile file) throws IOException {//将文件保存在服务器中  G:\\images// 获取文件名   例如: xxx.jpgString fname = file.getOriginalFilename();
//        截取文件类型  .jpgString expName = fname.substring(fname.lastIndexOf("."));String uuid= UUID.randomUUID().toString();String afterPath=new SimpleDateFormat("yyyy\\MM\\dd\\HH\\mm\\ss").format(new Date());
//        以年月日为文件隔离,uuid为文件名称
//        最终保存路径String saveName=afterPath+"\\"+uuid+expName;System.out.println("saveName = " + saveName);File fineFile=new File("G:\\images\\",afterPath);//判断文件夹是否存在,不存的话新建文件夹if (!fineFile.exists()){fineFile.mkdirs();}
//        保存file.transferTo(new File("G:\\images\\",saveName));//保存数据库的记录  house已经接收部分表单数据//保存数据库的记录  house已经接收部分表单数据//设置编号house.setId(System.currentTimeMillis()+"");
//        设置文件审核状态house.setIspass(0);house.setIsdel(0);
//        保存文件路径house.setPath(saveName);//调用服务层保存方法int r = houseService.addHouse(house);if(r==1){return "guanli";}else {fineFile.delete();return "error";}}

SMM框架的图片上传相关推荐

  1. python修改图片大小为30kb_Python的Tornado框架实现图片上传及图片大小修改

    图片的上传 上传图片使用了表单提交, 下面是html部分, enctype="multipart/form-data"表示不对字节进行编码,上传文件类型时需指定. input标签的 ...

  2. Layui框架实现图片上传

    Layui框架实现图片上传 前言: 一直以来,图片上传总是件很麻烦的事.最近在学layui,发现layui真是极大简化了各种复杂的操作,避免了繁琐的开发. layui图片上传和传统的图片上传不同,它并 ...

  3. Bootstrap框架----单张图片上传实现---Uploadify插件

    框架搭建 我们在之前的文章中已经实现了 单张图片的上传,使用的是最基本的 File类型的input提交的方式,上传到远程静态资源器和七牛云. 之前的文章关注的地方 主要是后端,也就是图片上传保存到哪里 ...

  4. ssm上传文件获取路径_ssm框架实现图片上传显示并保存地址到数据库(示例代码)...

    本案例是通过springmvc+spring+mybatis框架以商品上传为例,实现的图片上传功能,并把图片的地址保存到数据库并在前台显示上传的图片. 本项目是使用maven搭建的项目,首先看下项目结 ...

  5. Django框架实现图片上传,存储和显示功能

    在django框架中,前端页面不能直接使用相对路径或绝对路径显示图片,需要通过urls.py来提供每个URL 对应的django的函数来显示在页面 . 思路:将form表单上传的文件,后台接受后创建文 ...

  6. 商城项目笔记一:搭建Maven工程,利用Dubbo实现SOA面向服务框架,部署zookeeper注册中心,FastDFS框架实现图片上传,部署nginx服务器。

    文章目录 1. 商城项目总结笔记: 1.1. 第一天工作记录:搭建Maven工程 1.2. 第二天工作记录:创建SOA面向服务架构,通过工具类实现分页技术 1.3. 第三天工作记录:部署nginx服务 ...

  7. spring框架的图片上传

    使用MultipartFile实现图片上传 MultipartFile为org.springframework.web.mutipart包下的一个类是spring框架为我们提供的, 我们就使用它来完成 ...

  8. SSM框架实现图片上传并查询数据库中的图片(多图片上传请看下篇博客)

    第一步:首先要在我们的springMVC.xml文件中添加上传文件解析器 <!-- 定义文件上传解析器 --> <bean id="multipartResolver&qu ...

  9. 使用python flask框架开发图片上传接口 详细案例

    python版本:3.6+ 需要模块:flask,pillow 需求:开发一个支持多格式图片上传的接口,并且将图片压缩,支持在线预览图片. 目录结构: app.py编辑内容: from flask i ...

  10. 用SpringMVC框架实现图片上传与下载

    1.新建一个Maven webapp项目,引入需要用的夹包,pom.xml文件的依赖包如下: <dependencies><!-- 用于生成图片的缩略图 --><depe ...

最新文章

  1. 将不确定变为确定~Flag特性的枚举是否可以得到Description信息
  2. 华为被上汽狂DISS:智能驾驶时代车企呼唤“主权”?
  3. 精灵沿着正方形路线运动暂停2秒后然后再将自己放大4倍
  4. pandas对象保存到mysql出错提示“BLOB/TEXT column used in key specification without a key length”解决办法
  5. 零基础学Python(第十六章 函数·重点)
  6. spring mvc hello
  7. :继续教育学习助手_我们自己做:教育的开放组织
  8. 萌新的Python练习菜鸟100例(八)输出 9*9 乘法口诀表
  9. 今天走了一天, 才回到家
  10. vue多单页面多tab_vue-cli3创建多页面项目
  11. 为什么很少人学汇编_为什么那么多人学模具,成功的只有不到5%???
  12. 显示器黑屏的原因解析及解决方法
  13. python 模拟鼠标键盘_如何用 python 模拟鼠标和键盘的操作
  14. 安装算量软件图纸复制操作
  15. 【代码段】动态生成页面heading
  16. HTML5之帆布(canvas)(一)
  17. 分享一篇前端大佬关于前端职业规划的建议
  18. 【中级计量经济学】Lecture 2 多重共线性
  19. 数据库的一些基本语法一
  20. 编译原理——自上而下的语法分析方法(LL分析法)

热门文章

  1. 软件测试工程师...我是如何正确地申请加薪的!
  2. element-plus 中loading 自定义图片
  3. VC++从入门到精通视频教程
  4. python错误提示未定义tn_未找到Python方法,但在类中定义
  5. 游戏原画,掌握角色设计2个小技巧,你也能画好角色
  6. 针孔微创牙龈手术(Pinhole Gum Rejuvenation)
  7. Contrastive Loss(对比损失)
  8. 阿里云ESC搭建SVN服务端-----实测有效,并补充了一些坑点
  9. Word和PPT中字母以及数字的上下标打法
  10. linux学习系列-一些知识