jquery-weui 文件批量上传

5 篇文章 0 订阅
1 篇文章 0 订阅

由于juery-weui 设计上传内置插件只有样式
我自己结合网上 亲测可行的 文件批量上传 后端 用的java

<body>
	<!--图片上传-->
        <div class="weui-gallery" id="gallery">
            <span class="weui-gallery__img" id="galleryImg"></span>
            <div class="weui-gallery__opr">
                <a href="javascript:" class="weui-gallery__del">
                    <i class="weui-icon-delete weui-icon_gallery-delete"></i>
                </a>
            </div>
        </div>
        <div class="weui-cells weui-cells_form">
            <div class="weui-cell">
                <div class="weui-cell__bd">
                    <div class="weui-uploader">
                        <div class="weui-uploader__hd">
                            <p class="weui-uploader__title">图片上传</p>
                        </div>
                        <div class="weui-uploader__bd">
                            <ul class="weui-uploader__files" id="uploaderFiles">
                                
                            </ul>
                            <form id="wu-forms2" method="post" enctype="multipart/form-data">
                            <div class="weui-uploader__input-box">
                                <input class="weui_uploader_input js_file"  id="uploaderInput" name="uploadfile[]"type="file" name="uploadfile[]" accept="image/jpg,image/jpeg,image/png,image/gif" multiple="multiple">
                            </div>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <a href="javascript:;" class="weui-btn weui-btn_primary" onclick="setImg2(this)">按钮</a>
 <div class="weui_dialog_alert" style="display: none;">
    <div class="weui_mask"></div>
    <div class="weui_dialog">
      <div class="weui_dialog_hd"> <strong class="weui_dialog_title">提示</strong>
      </div>
      <div class="weui_dialog_bd">弹窗内容,告知当前页面信息等</div>
      <div class="weui_dialog_ft">
        <a href="javascript:;" id='sure' class="weui_btn_dialog primary">确定</a>
      </div>
    </div>
  </div>       
</body>


<script>

var allFile = [];

var form =$("#wu-forms2")
var formData  = new FormData(form);
    mui.init();
    $(function() {
        var tmpl = '<li class="weui-uploader__file" style="background-image:url(#url#)"></li>',
            $gallery = $("#gallery"),
            $galleryImg = $("#galleryImg"),
            $uploaderInput = $("#uploaderInput"),
            $uploaderFiles = $("#uploaderFiles");
 
            $uploaderInput.on("change", function(e) {
                var src, url = window.URL || window.webkitURL || window.mozURL,
                files = e.target.files;
                $.each(files, function (index, item) {
                    var fileName = item.name;
                    var fileEnd = fileName.substring(fileName.indexOf("."));
                    //上传文件格式判断
                        allFile.push(item);
                        //追加文件
                        formData.append('uploadfile[]',item);
                   
                });
                for(var i = 0, len = files.length; i < len; ++i) {
                    var file = files[i];
 
                    if(url) {
                        src = url.createObjectURL(file);
                    } else {
                        src = e.target.result;
                    }
 					
                    $uploaderFiles.append($(tmpl.replace('#url#', src)));
                }
            });
        var index; //第几张图片
        $uploaderFiles.on("click", "li", function() {
            index = $(this).index();
            $galleryImg.attr("style", this.getAttribute("style"));
            $gallery.fadeIn(100);
        });
        $gallery.on("click", function() {
            $gallery.fadeOut(100);
        });
        //删除图片
        $(".weui-gallery__del").click(function() {
        	allFile.splice(index,1);
        	formData= new FormData(form);
        	 $.each(allFile, function (index, item) {
                 var fileName = item.name;
                 var fileEnd = fileName.substring(fileName.indexOf("."));
                 //上传文件格式判断
                     //追加文件
                     formData.append('uploadfile[]',item);
                
             });
        	
            $uploaderFiles.find("li").eq(index).remove();
        });
        
        
       
    });
    function setImg2(obj){
    	//这里type 可以添加 图片所需附件信息
    	formData.append("type",0)
    	   var len = formData.getAll('uploadfile[]').length;
  		if(len>0){
  			 $.ajax({
  				type:"post",
  				url:"Upload.do",
  				data: formData,
  				processData: false,
  				contentType: false,
  				success:function(data){
  					if(data.errCode!=0){
  						$(".weui_dialog_alert").show();
  						$(".weui_dialog_bd").html("上传成功")
  						$("#sure").click(function(){
  							window.location.reload()
  						})
  					}else{
  						$(".weui_dialog_alert").show();
  						$(".weui_dialog_bd").html("上传失败")
  						$("#sure").click(function(){
  							window.location.reload()
  						})
  					}
  				}
  			});
  		}else{
  			$.alert("请选择需要上传的图片")
  		}
   }
    
    
</script>

引入样式

 		<link rel="stylesheet" href="https://res.wx.qq.com/open/libs/weui/0.3.0/weui.css" />
		 <link rel="stylesheet" href="css/weui.min.css">
		<link rel="stylesheet" href="css/jquery-weui.css">
		<link rel="stylesheet" href="css/main.css">
		<script src="js/jquery-2.1.4.js"></script>
		<script src="js/mui.min.js"></script>
		<script src="js/fastclick.js"></script>
		<script src="js/jquery-weui.js"></script>
		<script src="js/Zepto.min.js"></script>

后端接受代码

@RequestMapping(value = "/Upload")
	@ResponseBody
	public Result upload(HttpServletRequest request,
			HttpServletResponse response) {
		Result rd = new Result ();
		try {
		CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(
				request.getSession().getServletContext());
		// 设置编码
		commonsMultipartResolver.setDefaultEncoding("utf-8");
		   MultipartHttpServletRequest resolveMultipart = commonsMultipartResolver.resolveMultipart(request);  
		List<MultipartFile> files = resolveMultipart.getFiles("uploadfile[]");
		String[] strings = resolveMultipart.getParameterMap().get("type");
		String upfile = service.uploadFiles(files);
	    rd.setErrCode(0);
	    rd.setErrMsg("文件上传成功");
		} catch (Exception e) {
			e.printStackTrace();
			rd = new ReturnData(1, "err");
		}
		return rd;
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值