javascript - vue里面实现这种头像上传的功能,求demo或者比较好的方法

查看:237
本文介绍了javascript - vue里面实现这种头像上传的功能,求demo或者比较好的方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题


vue里面实现这种头像上传的功能,求demo或者比较好的方法

解决方案

你可以使用element-ui中的上传方法

这是原生的方法

<!DOCTYPE html>
<html>
<head lang="en">

<meta charset="UTF-8">  
<title></title>  
<style>  
    img{max-width: 100%; height: 100px;margin: 10px 20px;}  
    .img_list .img-div{width: 100px;height: 200px; float: left;  overflow: hidden;text-align: center;  }  
    .upload{position: relative;}  
    .upload input{opacity: 0;position: absolute;top: 0;left: 10px;height: 100px;width: 100px;}  
    .upload .upload_box{width: 100px;height: 100px;background-color: pink;color: white;}  
    .img-div p{color: #28a4b0;margin: 0;}  
</style>  

</head>
<body>
<div class="upload">

<input class="file_input" type="file" multiple id="avc"/>  
<div class="upload_box">  
    点我上传图片哦  
</div>  

</div>

<div class="img_list">

</div>
<script>

var file_input=document.getElementsByClassName("file_input")[0];  

// 触发事件用的是change,因为files是数组,需要添加下标

file_input.addEventListener("change",function(){  
    var obj=this;  
    var obj_name=this.files[0].name;  
    var img_length=obj.files.length;  
    for(var i=0;i<img_length;i++)  
    {  
        if(!(/image\/\w+/).test(obj.files[i].type))  
        {  
            alert("上传的图片格式错误,请上传图片");  
            return false;  
        }  
        var reader = new FileReader();  
        reader.error=function(e){  
            alert("读取异常")  
        }  
        reader.onload = function(e){  

// div_html是包括图片和图片名称的容器

            var img_html='<img src="'+e.target.result+'"/>';  
            var div_html=document.createElement("div");  
            var p_html=document.createElement("p");  
            if(document.getElementsByClassName("img_list")[0].children.length<5)  
            {  
                div_html.innerHTML=img_html;  
                div_html.appendChild(p_html);  
                p_html.innerHTML=obj_name;  
                div_html.className="img-div";  
                document.getElementsByClassName("img_list")[0].appendChild(div_html);  
            }else{  
                alert("最多上传5张图片")  
            }  
        };  
        reader.onloadstart=function(){  
            console.log("开始读取"+obj_name);  
        }  
        reader.onprogress=function(e){  
            if(e.lengthComputable){  
                console.log("正在读取文件")  
            }  
        };  
        reader.readAsDataURL(obj.files[i]);  
    }  

})  

</script>
</body>
</html>

这篇关于javascript - vue里面实现这种头像上传的功能,求demo或者比较好的方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆