美文网首页
input type="file" 预览图片

input type="file" 预览图片

作者: 小北呀_ | 来源:发表于2020-05-26 14:43 被阅读0次
    需要注意的地方:

    1.input标签添加multiple="multiple",可一次上传并预览多张图片。
    2.文件读取器:new FileReader()

    
    <template>
        <div>
            上传图片:
    
            <!-- 每次只上传一张照片,且展示在页面上。 -->
            <input type="file"  @change="uploadFun">
            <img alt="" id="img">
    
            <div style="height:300px;clear:both"></div>
    
    
            <!-- 可一次性上传多个照片,并且展示在页面上 -->
            <input type="file" multiple="multiple"  @change="uploadFunMore">
    
            <img alt="" v-for="(url,urlIndex) in more_length" :key="urlIndex" :id="'imgMore' + urlIndex">
    
        </div>
    </template>
    <script>
    export default {
        data(){
            return{
                more_length:0,
            }
        },
        mounted(){
    
        },
        methods:{
            uploadFun(event){
                console.log(event,'123')
                var file = event.target.files[0];
                // 新建文件读取器
                let reader = new FileReader();
                // 使用readAsDataURL会返回一个url,这个值就保存在事件对象的result里
                reader.readAsDataURL(file);
                reader.onload = function(e){
                    //  e.target.result = data:image/jpeg;base64,/9j/4AAQSk
                    document.getElementById('img').src = e.target.result;
                }
                    //兼容ie的写法
                    //this.option.img= URL.createObjectURL(file)
            },
            /* 多个照片循环展示 */
            uploadFunMore(event){
                this.more_length = event.target.files
                for (let i=0;i<this.more_length.length;i++){
                    var file = event.target.files[i];
                    // 新建文件读取器
                    let reader = new FileReader();
                    // 使用readAsDataURL会返回一个url,这个值就保存在事件对象的result里
                    reader.readAsDataURL(file);
                    reader.onload = function(e){
                        document.getElementById('imgMore'+i).src = e.target.result;
                    }
                }
            }     
        }
    }
    </script>
    <style scoped>
    img{
        width: 300px;
    }
    </style>
    
    
    

    相关文章

      网友评论

          本文标题:input type="file" 预览图片

          本文链接:https://www.haomeiwen.com/subject/kutvahtx.html