ajax提交formData iframe springmvc 上传文件 页…
2018-06-18 00:48:17来源:未知 阅读 ()
1.引入讲个jar包 springmvc设置
commons-fileupload-1.3.3.jar
commons-io-2.5.jar
<!-- 定义文件解释器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 设置默认编码 --> <property name="defaultEncoding" value="utf-8"></property> <!-- 文件大小最大值 --> <property name="maxUploadSize" value="10485760000" /> <!-- 内存中的最大值 --> <property name="maxInMemorySize" value="40960" /> </bean>
2.HTML 对file做了css美化 点击按钮可以清空file
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>新增地名标志</title> <link rel="stylesheet" href="css/bootstrap.min.css"/> <link rel="stylesheet" href="css/bootstrap-datetimepicker.css" type="text/css"/> <script src="js/jquery-1.10.2.min.js" type="text/javascript"></script> <script src="js/bootstrap.min.js" type="text/javascript"></script> <script src="js/bootstrap-datetimepicker.js"></script> <script src="js/bootstrap-datetimepicker.zh-CN.js"></script> <script src="js/table.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="css/style.css"> <script src="../../js/jquery.tips.js"></script> <script src="js/hint.js"></script> <style> .readonly{ background-color: rgb(242, 242, 242); } /*a upload */ .a-upload { padding: 4px 10px; height: 36px; line-height: 20px; position: relative; cursor: pointer; color: #888; background: #fafafa; border: 1px solid #ddd; border-radius: 4px; overflow: hidden; display: inline-block; *display: inline; *zoom: 1 } .a-upload input { position: absolute; font-size: 100px; right: 0; top: 0; opacity: 0; filter: alpha(opacity=0); cursor: pointer } .a-upload:hover { color: #444; background: #eee; border-color: #ccc; text-decoration: none } .close-upimg:hover { background-color: blue; } </style> </head> <body> <form id="dmbz"> <table class="table table-bordered table-hover"> <tr> <td class="danyuange">标志文件上传</td> <td colspan="7"> <a href="javascript:;" id="a-upload"class="a-upload" style="float:left;"> <input type="file" id='file21' name="zhaopianwenjianming" onchange="showPreview(this)">点击这里上传文件 </a> <div class=fileImgDel style="height:36px;float:left;line-height: 36px;"> <span class='show' name="show" style='float:left;height:36px;margin-left: 10px;'></span> <img src='../../img/del.png' class='close-upimg' id='close-upimg' onclick="delFile()" style='float:left;position:relative;top:10px;'> </div> </td> </tr> </table> </form> </body> </html> <script type="text/javascript"> function showPreview(source) { $(".fileImgDel").empty(); $(".fileImgDel").append("<span class='show' name='show' style='float:left;height:36px;margin-left: 10px;'></span>" +"<img src='../../img/del.png' class='close-upimg' id='close-upimg' onclick=" +"delFile()" +" style='float:left;position:relative;top:10px;'>"); var arrs = $(source).val().split('\\'); var filename=arrs[arrs.length-1]; $(".show").text(filename); } function delFile(){ $(".fileImgDel").empty(); document.getElementById("a-upload").innerHTML="<input type='file' id='file21' name='zhaopianwenjianming' onchange='showPreview(this)'>点击这里上传文件"; $(".fileImgDel").append("<span class='show' name='show' style='float:left;height:36px;margin-left: 10px;'></span>" +"<img src='../../img/del.png' class='close-upimg' id='close-upimg' onclick=" +"delFile()" +" style='float:left;position:relative;top:10px;'>"); //var biaozhidaima=$("#biaozhidaima").val(); } </script>
3.ajax提交
function placeMark_Save(){ var ss2,fd; if(!!window.ActiveXObject || "ActiveXObject" in window){//判断浏览器是否为IE11 //alert('是IE!') ss2 = $("#dmbz", window.frames['iframe_bz'].document); }else{ //alert('非IE!') ss2 = $("#dmbz", window.frames['iframe_bz'].contentDocument); } //-----------------------------------------------------formdata if (action == "add") { fd = new FormData(ss2[0]); fd.append("id","0");//新增formdata元素 fd.append("uuid",""); fd.append("diminguuid",dmInfo.guid); fd.append("action","add"); }else{ fd = new FormData(ss2[0]); fd.append("action","edit"); fd.append("uuid",uuid_biaozhi); }
//ajax提交 $.ajax({ url: 'placeName/biaoZhiSave.do', type: 'POST', datatype: 'json', data: fd, cache:false, traditional: true, contentType: false, processData: false, success : function(data) { if (data) { placeMarkTable_Close();// 成功后才能关闭对话框 jQuery(placeMark_Table).jqGrid('setGridParam', { url : 'placeName/biaozhiInit.do' }).trigger('reloadGrid'); } else { $("#markBtn").tips({ side : 1, msg : "数据保存失败!", bg : '#FF5080', time : 5 }); } } }); }
4.Controller.java文件
@RequestMapping(value = "/biaoZhiSave") public void biaoZhiSave(@RequestParam(value = "zhaopianwenjianming", required = false)MultipartFile zhaopianwenjianming, HttpServletRequest request,HttpServletResponse response) throws IllegalStateException, IOException{ String newUuid = ""; String action = request.getParameter("action");// 操作符 String fileName=request.getParameter("biaozhidaima");//标志代码---作为文件名
JSONObject jsonData=new JSONObject();//将传入的数据转为json对象 Map<String,String[]> paramMap = request.getParameterMap(); for(String name : paramMap.keySet()) { String[] values = paramMap.get(name); jsonData.put(name, StringUtils.join(values)); }
//保存图片 if (!zhaopianwenjianming.isEmpty()) {//如果有图片 //保存到服务器WEB-INF\\upload目录下 String realPath = request.getSession().getServletContext().getRealPath("/WEB-INF/upload"); String ext = FilenameUtils.getExtension(zhaopianwenjianming.getOriginalFilename());//文件后缀名 zhaopianwenjianming.transferTo(new File(realPath+"\\"+ fileName + "." + ext)); jsonData.put("zhaopianwenjianming",fileName + "." + ext); //保存文件到D:\\upload目录下 /* String ext = FilenameUtils.getExtension(zhaopianwenjianming.getOriginalFilename());//文件后缀名 zhaopianwenjianming.transferTo(new File("D:\\upload\\" + fileName + "." + ext)); jsonData.put("zhaopianwenjianming",fileName + "." + ext);*/ } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Java生鲜电商平台-生鲜电商接口幂等性原理与防重复提交方案( 2020-06-05
- SpringBoot 2.x 版本以put方式提交表单不生效的问题详解 2020-06-01
- 一口气说出8种幂等性解决重复提交的方案,面试官懵了! 2020-05-30
- 架构设计 | 接口幂等性原则,防重复提交Token管理 2020-05-22
- 提交项目到gitee报错Push to origin/master was rejected的 2020-05-01
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash