zoukankan      html  css  js  c++  java
  • vue实现多张图片上传与预览

     方法1:

    html:

    <div v-if='imgsback.length>0' class="flex">
        <div class="img-box" v-for="(item, i) in imgsback" :key='i' >
              <img class="img" :src="item" alt=""> <span @click="delimgback(i)"><i class="el-icon-delete"></i></span>
        </div>
    </div>
    <div class="img-file" v-if='imgsback.length < sizeback'>
    <input type="file" id='files' @change='fileChangeback($event)'>
            <label for="files"></label>
    </div>
    数据:
    data(){
       return{
       imgsback: [],      // 图片预览地址
         imgfilesback: [],  // 图片原文件,上传到后台的数据
         sizeback: 1 ,      // 限制上传数量
    方法methods:(每上传一张图片就调用一次接口将数据传给后台)
          /* 图片上传 */
                fileChangeback(e) {  // 加入图片
                    // 图片预览部分
                    var _this = this
                    var event = event || window.event;
                    var file = event.target.files
                    var leng=file.length;
                    for(var i=0;i<leng;i++){
                        var reader = new FileReader();    // 使用 FileReader 来获取图片路径及预览效果
                        _this.imgfilesback.push(file[i])
                        reader.readAsDataURL(file[i]); 
                        reader.onload =function(e){
                        _this.imgsback.push(e.target.result);   // base 64 图片地址形成预览                                 
                        };                 
                    }
                    // 图片上传给后台部分
                    var file = _this.imgfilesback[0];
                    let form new FormData(); 
                    form.append('imgFile',file);
                    
                    var vm = this;
                    _this.$axios({
                        url: '/tryOut/upload',
                        method: 'post',
                        data: form,
                        headers: {'content-Type':'multipart/form-data'}
                    }).then((re)=>{
                        console.log('re',re)
                        vm.imgurl = re.data.data.url
                        var imglist = vm.imglist;
                        imglist.push(re.data.data) 
                        vm.imglist = imglist;
                        console.log('vm.imglist',vm.imglist)
                    }).catch((err)=>{
                        console.log(err)
                    })
                },
    //删除图片的方法
    
    
    delimgback(i){
         this.imgfilesback.splice(i, 1)
         this.imgsback.splice(i, 1)
    },
     

     方法2methods(图片预览和图片数据上传是两个方法)

     /* 图片上传--预览 */
        fileChangeback(e) {  // 加入图片
            // 图片预览部分
            var vm = this
            var event = event || window.event;
            var file = event.target.files
            var leng=file.length;
            for(var i=0;i<leng;i++){
                var reader = new FileReader();    // 使用 FileReader 来获取图片路径及预览效果
                vm.imgfilesback.push(file[i])
                reader.readAsDataURL(file[i]); 
                reader.onload =function(e){
                  vm.imgsback.push(e.target.result);   // base 64 图片地址形成预览                                 
                };                 
            }
        },
        // 上传图片给后台
        updateImgToBack(){
              var url = '/zl/upload/' + this.checkedCatagoryId
              let form = new FormData(); 
              this.imgfilesback.forEach((item,index) =>{
                form.append('file',item);
              })
              var vm = this
              this.$axios.post(url,form).then(function(res){
                if(res.data.flag){
                  vm.$message({
                      message: res.data.message,
                      type: 'success'
                  });
                  vm.updataCategoryShow = false
                  vm.reload()
                }
              }).catch((err)=>{
                  console.log(err)
              })
        },
  • 相关阅读:
    Java 实现常见内排序
    markdown基本语法
    HashMap (JDK1.8) 分析
    jQuery总结
    JS 数组 常用方法
    CSS样式 解决文字过长显示省略号问题
    Python中的 __name__属性的含义和作用
    http协议详细介绍
    Http和Https的区别
    爬虫——requests库使用方法
  • 原文地址:https://www.cnblogs.com/meiyanstar/p/12870711.html
Copyright © 2011-2022 走看看