js实现上传多张图片

来源:互联网 发布:淘宝买书靠谱吗 编辑:程序博客网 时间:2024/06/05 18:28






<!doctype html>

<html>
<head>
<meta charset="utf-8">
<meta name="viewport"
content="width=device-width,initial-scale=1,user-scalable=no" />


<script src="jquery-1.8.3.min.js"></script>






<script type="text/javascript">
   $(document).ready(function() {
 
        var obj = document.getElementById("u_file");


        $("#u_file").change(function () {
   var imgShow=document.getElementById("imgShow");
   

var imgLable= document.createElement("img");

var deleteLable= document.createElement("img");

imgLable.setAttribute("src",getObjectURL(obj));
deleteLable.setAttribute("src","deleteBtn.png");
deleteLable.className="deleteImgStyle";

imgLable.className="imgStyle";

if(imgShow.childNodes.length>5){
alert("最多只能上传三张照片");
return null;
}
imgShow.appendChild(deleteLable);
            imgShow.appendChild(imgLable);
deleteLable.setAttribute("id","idImag"+Math.random());

  
  deleteImg();
 
        })
  
       
        function deleteImg(){

    
  $(".deleteImgStyle").click(function(){
  
 console.log(this.id);
   var obj=document.getElementById(this.id);

  obj.nextSibling.remove();
  this.remove();
 
  })
  
 
 
}



        function getObjectURL(node) {
            var imgURL = "";
            try {
                var file = null;
                if (node.files && node.files[0]) {
                    file = node.files[0];
                } else if (node.files && node.files.item(0)) {
                    file = node.files.item(0);
                }
                //Firefox 因安全性问题已无法直接通过input[file].value 获取完整的文件路径
                try {
                    //Firefox7.0
                    imgURL = file.getAsDataURL();
                    //alert("//Firefox7.0"+imgRUL);
                } catch (e) {
                    //Firefox8.0以上
                    imgURL = window.URL.createObjectURL(file);
                    //alert("//Firefox8.0以上"+imgRUL);
                }
            } catch (e) {      //这里不知道怎么处理了,如果是遨游的话会报这个异常
                //支持html5的浏览器,比如高版本的firefox、chrome、ie10
                if (node.files && node.files[0]) {
                    var reader = new FileReader();
                    reader.onload = function (e) {
                        imgURL = e.target.result;
                    };
                    reader.readAsDataURL(node.files[0]);
                }
            }
            return imgURL;
        }
        })


</script>


<style type="text/css">


.imgStyle{ 
            border: 1px solid #ddd;
width:100px;
height:100px;
            float: left;  
            line-height: 1;  
            margin-left: 5px;  
            overflow: hidden;  
        } 
.deleteImgStyle{
position:relative;
left:110px;
top:-8px;
       border: 0px solid #ddd;
width:15px;
height:15px;
            float: left;  
           
            overflow: hidden;  
            
}


</style>


</head>


<body>
 
            
            <label for="u_file"><img src="deleteBtn.png" width="50px;" height="50px;"/></label>
            <input type="file"  name="file" id="u_file" multiple="multiple" style="display:none"/>
            
            <div  id="imgShow">  
  
            </div>  
                      
    
</div>
</body>
</html>