LayUI文件上传案例

1、前端页面代码

<div class="layui-upload">
	  <button type="button" class="layui-btn layui-btn-normal" id="selectFile">上传文件</button>
	  <button type="button" class="layui-btn" id="startUploadFile">开始上传</button>
	  <p id="allFileText"></p>
	</div>
<script type="text/javascript">
layui.use('upload', function(){
	  var $ = layui.jquery
	  ,upload = layui.upload;

	//上传文件
	  upload.render({
	    elem: '#selectFile'
	    ,url: '${pageContext.request.contextPath}/bAndWListManage/batchAddWhiteList.do'
	    ,accept: 'file'
	    ,auto: false
	    ,bindAction: '#startUploadFile'
	    ,size: 1024*40 //限制文件大小,单位 KB
	    ,done: function(result){
	    	if(result.msg != true){
	        	layer.msg(result.msg, {icon:1});
	            }else if(result.msg == true){
	            	layer.msg("上传成功!",{icon:1});
	                }else{
	                	layer.msg("上传失败!",{icon:1});
	                    }
	    }
	  });
	  
	});
</script>

2.后端java代码

@ResponseBody
	@RequestMapping("batchAddWhiteList")
	public String batchAddWhiteList(HttpServletRequest request){
		ModelAndView mv = new ModelAndView();
		mv.setView(Jackson2Util.jsonView());
		CommonsMultipartResolver multipartResolver = 
        		new CommonsMultipartResolver(request.getSession().getServletContext());
		//检查form中是否有enctype="multipart/form-data"
		
		JSONObject jsonObject = new JSONObject();
        if(multipartResolver.isMultipart(request))
        {
            //将request变成多request
            MultipartHttpServletRequest multiRequest = 
            		(MultipartHttpServletRequest)request;
            
            //获取multiRequest中所有的文件名
            Iterator iter = multiRequest.getFileNames();
            while(iter.hasNext()){
                //一次遍历所有的文件
                MultipartFile file = multiRequest.getFile(iter.next().toString());
                
                if(null!= file && file.getSize()>20*1024*1024) {
                	
                	jsonObject.put("msg", "传输文件过大,上传失败!");
                }
                else if(file!=null){
                	String result = null;
					try {
						result = vehicleWhitelistService.batchImportVehicleWhitelistByXls(file);
						if("yes".equals(result)) {
							jsonObject.put("msg", true);	
						}else {
							jsonObject.put("msg", result);
						}
						
					} catch (Exception e) {
						jsonObject.put("msg", result);
						logger.error(result);
					}
					
                }
            }
        }
		
		return jsonObject.toString();
	}

3.需要注意的地方 :

后端代码的返回值应该是json格式,否则会报错。----顾,应该在后端java代码的controller添加@ResponseBody注解

如图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值