SpringMVC框架五:图片上传与JSON交互
在正式图片上传之前,先处理一个细节问题:
每一次发布项目,Tomcat都会重新解压war包,之前上传过的图片会丢失
为了解决这个问题:可以不在Tomcat下保存图片,而是另找一个目录。
上传图片:
<form method="post" enctype="multipart/form-data">
<input type="file" name="pictureFile">
</form>
在上传图片之前,需要在springMVC.xml中配置:
<!-- 上传图片配置实现类 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 上传图片的大小(单位:字节)-->
<property name="maxUploadSize" value="5000000" />
</bean>
注意:这个id不能改成其他的,否则无效
除了上传文件大小以外,还有其他几个参数,这里就不一一展示了
保存图片到F:/upload:
@RequestMapping(value = "/upload")
public ModelAndView upload(MultipartFile pictureFile) {
// 保存图片 // 防止重复,给图片id设为UUID
String id = UUID.randomUUID().toString().replace("-", ""); String exName = FilenameUtils.getExtension(pictureFile.getOriginalFilename()); String name = id+"."+exName; try {
pictureFile.transferTo(new File("F:\\upload\\" + name));
} catch (Exception e) {
e.printStackTrace();
} //保存ID到数据库
//userService.savePicture(id); ModelAndView mav = new ModelAndView();
mav.setViewName("success");
return mav;
}
为了方便获得文件扩展名,这里用了其他的包,如果自己写稍显麻烦:

JSON交互:
首先要导入JSON需要的包:

前端AJAX:
<script type="text/javascript">
$(function(){
var params = '{"id": 1,"name": "测试商品","price": 99.9,"detail": "测试商品描述","pic": "123456.jpg"}';
$.ajax({
url : "${pageContext.request.contextPath }/json.action",
data : params,
contentType : "application/json;charset=UTF-8",
type : "post",
dataType : "json",
success : function(data){
alert(data.name);
}
});
});
</script>
Controller:
//json交互
@RequestMapping(value = "/json.action")
public @ResponseBody
Items json(@RequestBody Items items) {
//RequestBody注解,可以将json字符串解析到Items对象中
//注意:Items的属性名必须和json的Key一致
System.out.println(items); Items responseItem = new Items();
items.setName("success");
//ReponseBody注解:自动将对象封装成JSON字符串返回 return responseItem;
}
SpringMVC框架五:图片上传与JSON交互的更多相关文章
- JAVAEE——SpringMVC第二天:高级参数绑定、@RequestMapping、方法返回值、异常处理、图片上传、Json交互、实现RESTful、拦截器
1. 课前回顾 https://www.cnblogs.com/xieyupeng/p/9093661.html 2. 课程计划 1.高级参数绑定 a) 数组类型的参数绑定 b) List类型的绑定 ...
- SpringMVC 框架完成图片上传到项目路径操作
/** * 保存添加 * * @return */ @RequestMapping(value = "taizhang/add.action", method = { Reques ...
- 使用SpringMVC框架实现文件上传和下载功能
使用SpringMVC框架实现文件上传和下载功能 (一)单个文件上传 ①配置文件上传解释器 <!—配置文件上传解释器 --> <mvc:annotation-driven>&l ...
- springMVC和ckeditor图片上传
springMVC和ckeditor图片上传 http://blog.csdn.net/liuchangqing123/article/details/45270977 修正一下路径问题: packa ...
- springmvc图片上传、json
springmvc的图片上传 1.导入相应的pom依赖 <dependency> <groupId>commons-fileupload</groupId> < ...
- ssm框架实现图片上传显示并保存地址到数据库
本案例是通过springmvc+spring+mybatis框架以商品上传为例,实现的图片上传功能,并把图片的地址保存到数据库并在前台显示上传的图片. 本项目是使用maven搭建的项目,首先看下项目结 ...
- SpringMVC框架——文件的上传与下载
使用SpringMVC框架做个小练习,需求: 1.单个图片上传并显示到页面中: 2.多个图片上传并显示到页面中: 3.上传文件后下载文件: 1.pom.xml中添加依赖 <!-- 文件上传 -- ...
- Ueditor1.4.3.3+springMvc+maven 实现图片上传
前记:由于项目中需要有一个新增数据并且要能支持表格图片上传的功能.使用了ueditor控件.为实现这个功能,从一开始什么都看不懂,到一直连着弄了5天,总算是有了眉目.在此记录一下以便能帮到可以和我一样 ...
- SpringMVC框架06——文件上传与下载
1.文件上传 Spring MVC框架的文件上传是基于commons-fileupload组件的文件上传,只不过Spring MVC框架在原有文件上传组件上做了进一步封装,简化了文件上传的代码实现. ...
随机推荐
- supermap数据库型数据源的数据索引问题
按如下方式查看帮助文档,根据不同的场景选用不同的索引
- HDU 6161.Big binary tree 二叉树
Big binary tree Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- Linux平台生成awr报告
1.使用oracle用户登录应用服务器所使用的数据库所在的服务器 # su –oracle 2.输入env命令,查询出ORACLE_HOME 目录 3.然后进入$ORACLE_HOME/rdbms/a ...
- window环境下修改postgrep密码
本机window7 64位系统,安装的PostgreSQL 9.3 默认安装是没有设置密码的,使用pgAdmin III登陆需要登陆密码. 我们使用默认安装的工具 SQL Shell 来操作. 我们依 ...
- win10传奇手册CHM打开无法阅读解决
今天在阅读传奇的帮助文档时候,突然遇到了一个问题.打开为空白. 如图所示 我这个情况打开的时候会提示 这个时候我们把 打开此文件总是询问 这个对勾 去掉 惊喜有没有. 哈哈 .有问题欢迎大家私信我!
- 移动端比较好用的滑动条 vue-slider-component
安装: npm install vue-slider-component <template> <div> <vue-slider v-model="value ...
- redis学习-集合set常用命令
redis学习-集合set常用命令 1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...
- 编写shell脚本kill掉占用cpu超过90%以上的程序
由于集群用户经常会不懂如何提交作业,将作业直接运行到登录节点上,这样导致登录节点的cpu及内存占用很大,导致其他用户甚至无法登录.所以就想到了一种解决方法,写一个shell脚本,常驻登录节点,监控cp ...
- 流量控制与RateLimiter
一背景 如何提高系统的稳定性,简单来说除了加机器外就是服务降级.限流.加机器就是常说的分布式,从整个架构的稳定性角度看,一般SOA每个接口的所能提供的单位时间服务能力是有上限.假如超过服务能力,一般会 ...
- 负载均衡器之 Haproxy
1. 编译安装haproxy 官网: http://www.haproxy.org 1.1 下载haproxy # wget http://www.haproxy.org/download/1.6/s ...