html如下:
<form> <div id="whiteListDiv" style="display: none;margin:-5px auto 10px auto;" class="form-group clearfix"> <label><font></font></label> <input type="file" id="whiteList" name="whiteList" style="height: 24px; width: 500px;" /> <input type="button" class="btn-t1" onclick="uploadList('white');" value="上传" style="width: 120px; margin-left: 20px;"> </div> <div class="form-group clearfix"> <label><font></font>是否有黑名单</label> <input type="file" id="blackList" name="blackList" style="height: 24px; width: 500px;" /> <input type="button" class="btn-t1" onclick="uploadList('black');" value="上传" style="width: 120px; margin-left: 20px;"> </div> </form>
注意id和name属性
function uploadList(type){ var fileList; if(type == "white"){ fileList = $("#whiteList").val(); } else { fileList = $("#blackList").val(); } if(fileList == null || fileList == ""){ alert("请先选择文件再上传"); return; } var suffix = fileList.substring(fileList.lastIndexOf(".")); if(suffix != ".csv" && suffix != ".CSV"){ alert("请选择csv格式文件"); return; } var formData = new FormData($("form")[0]); formData.append("idBombBannerInfo",sid); formData.append("type",type); $.ajax({ url : '../../accessManagerment/uploadFileList.do',type : 'POST',data : formData,// 告诉jQuery不要去处理发送的数据 processData : false,// 告诉jQuery不要去设置Content-Type请求头 contentType : false,beforeSend:function(){ //console.log("正在进行,请稍候"); },success : function(data) { if(data.errorMsg != null && data.errorMsg != ""){ alert(data.errorMsg); } else { alert(data.resultMsg); } },error : function(responseStr) { alert("上传名单出现异常"); } }); }
由于是ajax发起请求,界面不用刷新
@RequestMapping("/accessManagerment/uploadFileList.do") public void uploadFileList(HttpServletRequest request,HttpServletResponse response,@RequestParam(value="whiteList",required=false) MultipartFile whiteList,@RequestParam(value="blackList",required=false) MultipartFile blackList,@RequestParam(value="idBombBannerInfo",required=false) String idBombBannerInfo,@RequestParam(value="type",required=false) String type ) throws IOException,ParseException,CmsBusinessException,IllegalStateException,ServletException{ CmsLogger.audit("弾屏广告-上传白名单/黑名单:[type=" + type+"][idBombBannerInfo="+"]"); Map<String,Object> resultMap = new HashMap<String,Object>(); Map<String,Object> paramMap = new HashMap<String,Object>(); PrintWriter out = initWriter(); out = response.getWriter(); String result = ""; if(!(idBombBannerInfo != null && !idBombBannerInfo.equals("") && type != null && !type.equals(""))){ result = "{\"errorMsg\": \"上传参数不能为空\"}"; return; } //获取产品编码 // DefaultMultipartHttpServletRequest req = (DefaultMultipartHttpServletRequest) request; // String productCode = req.getParameter("productCode"); long www = whiteList.getSize(); long bbb = blackList.getSize(); MultipartFile fileList = null; if(type != null && type.equals("white")){ fileList = whiteList; } else { fileList = blackList; } try{ if(fileList == null){ result = "{\"errorMsg\": \"上传文件不能为空\"}"; return; } //判断上传文件的格式(csv) String originalName = fileList.getOriginalFilename(); String suffix = originalName.substring(originalName.lastIndexOf(".")); if(!suffix.equalsIgnoreCase(".csv")){ result = "{\"errorMsg\": \"只能上传csv格式的文件\"}"; return; } //获取文件内容 InputStream is = fileList.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(is)); // String phoneStr = ""; // String tmp = ""; // int count = 0; //代表上传的手机号数量 // while((tmp = reader.readLine()) != null){ // //仅截取每行的前11位--如果长度够11 // if(tmp != null && tmp.length() >= 11){ // //最多传递500个手机号 // if(count < 500){ // phoneStr += tmp.substring(0,11) + ","; // count++; // } else { // result = "{\"errorMsg\": \"白名单上传失败 :白名单数量已超过500\"}"; // return; // } // } // } // // if(count == 0){ // result = "{\"errorMsg\": \"上传的白名单为空,请录入白名单重新上传!\"}"; // return; // } // // if(phoneStr.indexOf(",") > -1){ // phoneStr = phoneStr.substring(0,phoneStr.length() - 1); // } //下面调用接口直接将手机号一并发送过去 // String URL = "http://IQSZ-L1470:9091/elis_mili_shop_app/do/app/product/factory/batchSaveUserWhiteList"; String urlSuffix = cachePropertiesUtils.getPropertyValue("mili_shop.http.app.url"); String URL = urlSuffix + "/do/app/product/factory/batchSaveUserWhiteList"; NameValuePair[] data = { // new NameValuePair("whilteList",phoneStr),// new NameValuePair("operator",user.getUserUmNo()) }; //调用接口 resultMap.put("resultCode","00"); if(resultMap != null && resultMap.get("resultCode").equals("00")){ //mili-shop新增成功 /*注意添加产品的时候,也要同时添加产品配置信息*/ result = "{\"resultMsg\": \"上传成功\"}"; if(type.equals("white")){ paramMap.put("isUploadWhitelist","Y"); } else { paramMap.put("isUploadBlacklist","Y"); } paramMap.put("sid",idBombBannerInfo); accessManagermentService.updateBombBannerStatus(paramMap); } else { result = "{\"errorMsg\": \"上传失败 " + resultMap.get("resultMsg") + "\"}"; CmsLogger.audit("弾屏广告名单上传失败"); } } catch(Exception e){ result = "{\"errorMsg\": \"弾屏广告名单上传失败\"}"; CmsLogger.error("BombBannerManagementController-->uploadFileList:弾屏广告名单上传失败:" + e.getMessage(),e); } finally { if (null != out) { out.print(result); out.flush(); out.close(); } } }