//jsp頁面 一、首先引入ajaxfileupload.js 二、form必定要配上enctype="multipart/form-data" 三、給要上傳的file定義 一個id <%@ page language="java" contentType="text/html;charset=utf-8" pageEncoding="utf-8"%> <%@include file="/WEB-INF/views/common/taglib.jsp"%> <script type="text/javascript" src="${ctx}/static/web/js/ajaxfileupload.js"></script> <link rel="stylesheet" type="text/css" href="${ctx}/static/common/validform/validate.css"/> <script type="text/javascript" src="${ctx}/static/common/validform/Validform_v5.3.2.js"></script> <script> $(function(){ $("#sub").click(function(){ var datas = $("#subForm").serialize(); var type =$("#type").val(); var toExplain=$("#toExplain").val(); var code = $("#code").val(); var uploadUrl ="${ctx}/web/mbr/vefify/proveUploadSub?type="+type+"&toExplain="+toExplain+"&code="+code; $.ajaxFileUpload({ url:uploadUrl, secureuri:false, fileElementId:'pic', dataType: 'json', success: function (data, status){ var data = jQuery.parseJSON(data); if(data.errCode == false){ $("#err").html("驗證碼錯誤"); }else if(data.msg == true && data.pic == "true"){ alert("上傳資料成功"); $("#err").html(""); }else if(data.msg == false && data.pic == "false"){ alert("上傳資料失敗"); alert("圖片上傳失敗"); } },error: function (data, status, e){ alert("調用方法失敗"); } }); }); }) </script> <!--右邊的內容 開始--> <div class="user_right_main"> <form:form action="" id="subForm" enctype="multipart/form-data"> <div class="user_help alert"> <font color="#FF0000">*</font> 必須是本人的真實、有效資料 </div> <div class="user_right_border"> <div class="l">資料上傳:</div> <div class="c"> <input type="file" name="pic" id="pic"/> 上傳最大的圖片爲1M,上傳的格式爲jpg.gif </div> </div> <div class="user_right_border"> <div class="l">上傳類型:</div> <div class="c"> <select name="type" autocomplete="off" id="type"> <option value="27">居住證(暫住證)</option> <option value="26">住房公積金</option> <option value="25">社保</option> <option value="24">行駛證</option> <option value="23">駕駛證</option> <option value="22">地稅證</option> <option value="21">國稅證</option> <option value="20">生活照</option> <option value="19">房產證</option> <option value="18">居住地租賃合同</option> <option value="17">水費發票或電費發票或煤氣發票(最近2個月)</option> <option value="16">營業執照副本(須要彩色)</option> <option value="15">機構代碼證</option> <option value="14">公司銀行流水(近三個月)</option> <option value="13">勞動合同或單位證實或工做證</option> <option value="12">近3個月銀行代發工資記錄或我的轉帳存款記錄</option> <option value="11">學位證書或畢業證書</option> <option value="10">戶口本</option> <option value="9">結婚證/單身證實</option> <option value="8">家人身份證正面</option> <option value="7">家人身份證背面</option> <option value="6">固定電話通話記錄清單(最近2個月)</option> <option value="5">手機通話記錄清單(最近2個月)</option> <option value="4">借款承諾書</option> <option value="3">信用報告 </option> <option value="2">其餘借款說明</option> <option value="1">其餘能說明您收入、資產、職務或素質的有效資料(凡不屬於以上內容的都放在此)</option> </select> </div> </div> <div class="user_right_border"> <div class="l">備註說明:</div> <div class="c"> <textarea cols="50" rows="5"id="toExplain" name="toExplain" ></textarea> </div> </div> <div class="user_right_border"> <div class="l" style="font-weight:bold; float:left;">驗證碼:</div> <div class="c"> <input class="code" id="code"datatype="*"name="code" type="text" maxlength="5" style=" width:118px; *margin-left:3px;" errormsg="驗證碼格式錯誤"nullmsg="請輸入驗證碼!" placeholder="請輸入驗證碼" ajaxUrl="${ctx}/web/mbr/verifyCode"> <img src="${ctx}/VerifyCode" alt="點擊刷新" onclick="this.src='${ctx}/VerifyCode?t='+Math.random();" align="absmiddle" style="cursor:pointer; display:inline-block;zoom:1;*display:inline; *float:none;height:30px;"> <span id="err" style="color: red"></span> </div> </div> <div class="user_right_border"> <div class="e"></div> <div class="c"> <input type="button" id="sub" class="btn-action" value="確認提交" size="30" /> </div> </div> </form:form> </div> //後臺上傳方法以下 /** * 上傳方法 * liyiyi * @param multipartFile * @param request * @param reqs * @return */ public Map<String,Object> uploadImg(HttpServletRequest request,、 @RequestParam Map<String, Object> reqs){ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; List<MultipartFile> multipartFile = multipartRequest.getFiles("pic"); String fileName = null; String fileType = null; FileOutputStream fos =null; //圖片上傳 for (MultipartFile file : multipartFile) { fileName = file.getOriginalFilename(); fileType= fileName.indexOf(".") != -1 ? fileName.substring(fileName.lastIndexOf("."), fileName.length()) : null; fileType = fileType.toLowerCase(); if(fileType.equals(".jpg") || fileType.equals(".png")){ if(file.getSize() > 0){ try { byte[] bytes = file.getBytes(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } System.out.println("文件的大小爲"+file.getSize()); // String path = request.getSession().getServletContext().getRealPath("/upload"); String rootPath = System.getProperty("catalina.home")+File.separator+"webapps"+File.separator; String path = rootPath+"upload"; File file2 = new File(path); if(!file2.exists()){ System.out.println("path不存在"); file2.mkdir(); } try { fos = new FileOutputStream(path+File.separator+fileName); FileCopyUtils.copy(file.getInputStream(), fos); // String pathSuc ="localhost:8080"+File.separator+"upload"+File.separator+fileName; reqs.put("msg","true"); reqs.put("path",fileName); System.out.println("文件上傳成功"); } catch (Exception e) { reqs.put("msg","false"); e.printStackTrace(); } } } } return reqs; } } //在springmvc.xml中要配置,也要引入上傳的Jar包 <!-- 文件上傳解析器--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="UTF-8"> </bean>