Spring MVC 多图片上传 ajax form表单 参数 提交后台
来源:互联网 发布:视频画面剪切软件 编辑:程序博客网 时间:2024/05/23 18:30
最近做了一个项目,需要提交多个图片到后台,提交的时候还要把参数提交,原来做过上传文件和上传单个图片,没有记录,现在记录一下。
Spring:
Spring mvc上传配置:
<!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="utf-8" /> <!-- 指定所上传文件的总大小不能超过10485760KB。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 --> <property name="maxUploadSize" value="10485760000" /> <property name="maxInMemorySize" value="40960" /> </bean>
后台Collentron:
/** * @Description * @Date 2017年7月13日下午6:40:30 * @param activityId * @param className * @param activityName * @param request * @return */@RequestMapping(value = "insertActivityPhoto.do")@ResponseBodypublic Map<String, Object> insertActivityPhoto(HttpServletRequest request) { //把带二进制表单数据的request对象交给spring转换 得到一个文件和普通数据分开的新request对象 MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; // 获取from表单参数 String activityIds = multipartRequest.getParameter("activityIds"); String classNames = multipartRequest.getParameter("classNames"); String activityNames = multipartRequest.getParameter("activityNames"); //获得Request中的图片 photo 是from表单文件的name List<MultipartFile> fileList = multipartRequest.getFiles("photo"); for (MultipartFile mf : fileList) { if(!mf.isEmpty()){ // 对素材进行操作 } } Map<String, Object> map = new HashMap<>(); map.put("success", "true");map.put("msg", "添加照片成功!");return map;}
在这要感谢:http://blog.csdn.net/mao_ning/article/details/53055599
参考这篇博客才知道为啥有时候获取不了form表单的的参数等问题。
要保存图片有两种办法:一种是获取 MultipartFile.getInputStream();然后进行存储。
第二种是MultipartFile.transferTo(文件要保存的路径):
这种应该需要在上传配置中配置临时文件地址<property name="uploadTempDir" value="temp" />。
jsp前台:
<form id="addPhotoFrom" method="post" enctype="multipart/form-data"><table><input type="hidden" id="activityIds" name="activityIds"><input type="hidden" id="classNames" name="classNames"><input type="hidden" id="activityNames" name="activityNames"><tr align="left" style="height:40px;"> <td style="color: #666666; font-size: 14px;"> 头 像:</td><td><input id="picUrl1" name="photo" type="file" class="" value="" onchange="fileUpLoad(this);" multiple></td></tr><tr id="showTX" style="display: none;" align="left" style="height:40px;"> <td style="color: #666666; font-size: 14px;"> </td><td><img id="showPhoto" src ="" style="heigth:50px;width:50px;"></td></tr></table></form>普通的form表单 需要注意的就是enctype="multipart/form-data" 和 input type是file 的multipe
fileUpLoad是h5的图片回显,选择后直接进行回显,现在只能回显一个。
js:
/** * 图片上传 */function ajaxFileUpload() {var formData = new FormData(document.getElementById("addPhotoFrom"));//表单id$.ajax({url : "insertActivityPhoto.do",type : "POST",data : formData,async : false,cache : false,contentType : false,processData : false,success : function(data) {if (data) {ZENG.msgbox.show("添加成功", 4, 1000);$('#pho').datagrid('reload');loadPaperGird();$("#addPhoto").window('close');} else {ZENG.msgbox.show("添加失败", 5, 1000);}},error : function(e) {ZENG.msgbox.show("添加失败!", 5, 3000);}});}/** * 选择图片页面回显 * * @param _this * @returns {Boolean} */function fileUpLoad(_this) {var ipt = document.getElementById("teacherimg");var file = _this.files[0];if (!/image\/\w+/.test(file.type)) { // html中已经用accept='image/*'限制上传的是图片了,此处判断可省略alert("文件必须为图片!");return false;}if (!FileReader) {alert("你的浏览器不支持H5的FileReader");ipt.setAttribute("disabled", "disabled");// 浏览器不支持禁用input// type='file'文件上传标签return;}var fileReader = new FileReader();fileReader.readAsDataURL(file);// 将文件读取为Data URL 读取结果放在result中fileReader.onload = function(e) {$("#showPhoto").attr("src", this.result);$("#showTX").show();console.log(this.result);};}
直接把form表单放到FormData里面进行ajax的提交。
以上就是ajax进行form表单提交,并且上传多个图片和参数的样式了。
阅读全文
0 0
- Spring MVC 多图片上传 ajax form表单 参数 提交后台
- Spring Mvc提交form表单上传文件
- Spring Mvc提交form表单上传文件
- spring mvc 后台获取不到form提交的参数
- Ajax提交form表单,Ajax文件上传
- form图片上传+spring MVC
- 使用ajax 提交多个form表单以及其他参数
- spring mvc freemaker form表单提交
- form.js提交表单同步上传图片
- [Nginx 2] form表单提交,图片上传
- ajax提交file表单,spring mvc后台获取file表单数据
- spring mvc IE8下JSP页面form表单提交后台不能获取值
- form表单ajax上传图片方法
- ajax提交表单form,form包含文件上传
- spring mvc 配合ajax进行表单提交(有文件上传)并且提醒用户提交成功
- spring mvc 文件上传 controller中接收form表单中提交上来的文件
- mvc表单Form提交
- 通过Ajax提交form表单来提交上传文件
- 三层总结
- Timers.Timer用法详解
- Shell学习之变量
- Centos7 编译安装Clang 3.9.1
- Charles 从入门到精通
- Spring MVC 多图片上传 ajax form表单 参数 提交后台
- (17.7.18)react 问题汇总之bind.js:1013 Warning: setState(...): Can only update a mounted or mounting comp
- 优先队列在解决哈夫曼问题的应用
- 【C++心路历程31】(LCA 倍增 及其应用)魔法道具
- 高大上的浏览器数据引擎IndexDB
- 1028. 人口普查
- IRP IO_STACK_LOCATION详解
- Git 常用命令整理
- highcharts折线图动态数据展示