vue调用摄像头拍照 (移动)2020-11-18

<template>

    <div class="file-box">

        <!--照片区域-->

        <div class="img-box" v-for="(urls, index) in imgs " :key="urls">

            <van-icon name="clear" v-on:click="deleteImg(index)"/>

            <img :src="urls" width="100px" height="100px"/>

        </div>

        <input type='button' class='btn' value='拍照' v-on:click="imgClick()"/>

        <input type="file" name="cover" class="file" id="uploadFile" accept="image/*" capture="camera" multiple v-on:change="readLocalFile()">

    </div>

</template>

<script>

    export default{

        data() {

            return {

                imgs:[]

           }

        },

        methods:{

            //删除图片

                deleteImg:function(index){

                    this.imgs.splice(index,1);

                },

            //图片click

                imgClick:function(){

                    document.getElementById("uploadFile").click();

                },

                //点击选中图片

                readLocalFile: function () {

                        var localFile = document.getElementById("uploadFile").files[0];

                        var reader = new FileReader();

                        var content;

                        var current=this;

                        reader.onload = function(event) {

                            content = event.target.result;

                            current.imgs.push(content);  //获取图片base64代码

                        }

                        reader.onerror = function() {

                            alert('error')

                        }

                        content = reader.readAsDataURL(localFile,"UTF-8");

                    var sss=document.getElementById("uploadFile").value;

                    console.log(sss);

                   }

        },

    }

</script>

<style scoped>

 .file-box{ 

    position:relative;

    width:340px

}

.btn{

    background-color: #FFF;

    border: 1px solid #CDCDCD;

    height: 26px;

    width: 70px;

    position: absolute;

    left: 190px;

    top: 10px;

}

.file{

    position: absolute;

    top: 10px;

    opacity: 0;

    width: 70px;

    left: 190px;

}

.img-box{

    width: 100px;

    height: 100px;

    position: relative;

    padding: 10px;

}

.img-box i{

    position: absolute;

    right: 2px;

    top: 2px;

}

</style>


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容