SpringMVC中的文件上传
1. 配置图片服务器
一般图片会单独保存在图片服务器上, 本文为简化处理, 在Tomcat中配置一个路劲用于专门存放图片
在tomcat上配置图片虚拟目录,在tomcat下conf/server.xml中添加:
<Context docBase="E:\temp" path="/pic" reloadable="true"/>
访问http://localhost:8080/pic即可访问F:\develop\upload\temp下的图片。
也可以通过eclipse配置:
2. 导入jar包
CommonsMultipartResolver解析器依赖commons-fileupload和commons-io,加入如下jar包:
3. 配置解析器
<!-- 配置文件上传 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置文件上传的大小 -->
<property name="maxUploadSize">
<value>5242880</value>
</property>
</bean>
4. 图片上传
//获取提交的修改信息,进行商品修改
@RequestMapping(value="/updateitem.action",method={RequestMethod.POST, RequestMethod.GET})
public String updateItem (Items item, MultipartFile picture) throws IllegalStateException, IOException {
//图片保存
//为每个图片生成一个独一无二的名称
String picName = UUID.randomUUID().toString();
//获取图片的后缀名
String originalFilename = picture.getOriginalFilename();
String extName = originalFilename.substring(originalFilename.lastIndexOf("."));
//拼接图片名称
String pictureName = picName.concat(extName);
//将图片保存在制定路径下
picture.transferTo(new File("E:\\temp\\" + pictureName));
//将图片名称保存到数据库中
item.setPic(pictureName);
//调用业务层修改数据
itemService.update(item);
return "forward:/item/itemEdit.action";
}
页面:
<!-- 上传图片是需要指定属性 enctype="multipart/form-data" -->
<!-- <form id="itemForm" action="" method="post" enctype="multipart/form-data"> -->
<form id="itemForm" action="${pageContext.request.contextPath }/item/updateitem.action"
method="post" enctype="multipart/form-data">
<input type="hidden" name="id" value="${item.id}" /> 修改商品信息:
<table width="100%" border=1>
<tr>
<td>商品名称</td>
<td><input type="text" name="name" value="${item.name }" /></td>
</tr>
<tr>
<td>商品价格</td>
<td><input type="text" name="price" value="${item.price }" /></td>
</tr>
<tr>
<td>商品生产日期</td>
<td><input type="text" name="createtime"
value="<fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/>" /></td>
</tr>
<tr>
<td>商品图片</td>
<td>
<c:if test="${item.pic !=null}">
<img src="/pic/${item.pic}" width=100 height=100/>
<br/>
</c:if>
<input type="file" name="picture"/>
</td>
</tr>
<tr>
<td>商品简介</td>
<td><textarea rows="3" cols="30" name="detail">${item.detail }</textarea>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="提交" />
</td>
</tr>
</table>
</form>
转载于:https://www.cnblogs.com/rodge-run/p/6545412.html
SpringMVC中的文件上传相关推荐
- (转)SpringMVC学习(九)——SpringMVC中实现文件上传
http://blog.csdn.net/yerenyuan_pku/article/details/72511975 这一篇博文主要来总结下SpringMVC中实现文件上传的步骤.但这里我只讲单个文 ...
- SpringMVC中的文件上传与下载,json转换,及三大框架的整合
文章目录 文件上传 准备一个文件上传的表单 导入文件上传需要的jar包 配置文件上传解析器 编写文件上传的Controller控制器中的代码: 使用ResponseEntity返回值处理文件下载 使用 ...
- SpringMVC中的文件上传与下载
文件上传: apache上传组件方案 添加依赖 <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileup ...
- c++读取json文件_[SpringMVC]-SpringMVC架构-07-SpringMVC文件上传
SpringMVC学习 SpringMVC文件上传 文件上传相关 操作步骤: a.在pom.xml中添加文件上传相关jar包 b.配置文件解析器(在核心配置文件springmvc.xml.相关jsp文 ...
- jquery.form.js java_使用jQuery.form.js/springmvc框架实现文件上传功能
使用的技术有jquery.form.js框架, 以及springmvc框架.主要实现异步文件上传的同时封装对象,以及一些注意事项. 功能本身是很简单的,但是涉及到一些传递参数类型的问题.例如:jque ...
- tomcat temp 大量 upload 文件_问题:JavaWeb中实现文件上传的方式有哪些?
问题:JavaWeb中实现文件上传的方式有哪些? 上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些. 文件上传的方式 Servlet2.5 方式 Servlet ...
- SpringMVC之多文件上传表单
上文简单介绍了springMVC之单文件上传 ,本文继续介绍多文件上传表单.包含单文件上传的表单已经能够满足大部分功能需求,但任然不够完善.实际业务中可能会包含多个文件同时上传,例如:商家在电商平台申 ...
- IIS 6和IIS 7 中设置文件上传大小限制设置方法,两者是不一样的
在IIS 6.0中设置文件上传大小的方法,只要设置httpRuntime就可以了 <system.web><httpRuntime executionTimeout="36 ...
- 在Struts 2中实现文件上传
前一阵子有些朋友在电子邮件中问关于Struts 2实现文件上传的问题, 所以今天我们就来讨论一下这个问题. 实现原理 Struts 2是通过Commons FileUpload文件上传.Commons ...
最新文章
- vue 获取当前位置 高德_vue高德地图获取当前位置
- 作者:陈卫, 男, 微软亚洲研究院高级研究员, 清华大学客座教授。
- CCF-CSP 稀疏向量问题(2020-6)
- [译] JavaScript:回调是什么鬼?
- 【Git】GitHub for Windows使用(1)
- android viewpager 不同页面底部菜单不同,viewpager不同页面中的不同菜单图标
- 理解BERT Transformer:Attention is not all you need!
- java pdf tiff_java-使用iText将TIFF转换为PDF的多线程方法
- UPnP 体系架构和基本原理 —— UPnP 工作流程
- 自定义倒计时跳过按钮
- vuepress-theme-reco 博客主题使用
- 趣图 | 早起的你 vs 熬夜的你
- SQL server课程设计-景点门票销售管理系统(基于Javagui制作)
- 一文带你看懂TCP/IP协议 (更新中 现更新至网络层部分)
- 阿里P8耗时3年,总结的Java面试复盘手册,带你挑战50万年薪
- ffmpeg命令:wav转pcm,pcm转wav
- Dcloud安卓离线打包
- Mybatis注解-注解方式的动态SQL语句
- 前端算法学习入门笔记 - JavaScript
- 基于ZigBee的智能家居安全监控系统设计
热门文章
- HTML5 progress和meter控件
- ViewPager之引导界面---实现欢迎引导页面
- 问题解决:SqlParameterCollection只接受非空的SqlParameter类型对象,不接受SqlParameter[]对象
- POJ 1573 POJ 2632(两道有趣的Robot)实例
- 算法--删除链表的倒数第N个节点
- shell实例第10讲:判断用户输入的是否为数字
- ORACLE TNS(transparence Network Substrate透明网络底层)
- oracle schema
- Docker Hub 镜像加速器
- Python基础入门教程:使用 Python 3 协程快速获得一个代理池