vue图片上传

今天来跟大家分享一下vue图片上传,以及一些样式的设计

如图是一个上传按钮,当上传成功后按钮被上传的图片缩略图替代

效果

=》

 

代码

 

 1      //elementui按钮
         <el-button
 2               class="fileParent"
 3               type="success"
 4               icon="el-icon-plus"
 5               style="background:#273C48"
 6               @change="uploadFile"
 7             >
 8               <input class="file" type="file" @change="uploadFile" multiple="multiple" />//上传框
 9               <img :src="tempImg" v-if="tempImg" alt />//缩略图
10             </el-button>

 

 

 1  async uploadFile(event) {
 2       let file = event.target.files[0]; //获取input的图片file值
 3       let param = new FormData(); // 创建form对象
 4       param.append("imgFile", file); //对应后台接收图片名
 5       await uploadPicture(param).then(res => {//uploadPicture为我的api接口
 6         if (res.code == 1) {
 7           let url = res.url[0].url;
 8           this.tempImg = "online" + url;
 9         }
10       });
11       this.$notify({
12         duration: 3000,
13         title: "成功",
14         message: "上传成功!",
15         type: "success"
16       });
17     }

 

 //css样式在这里

.fileParent {
  position: relative;
  img {
    position: absolute;
    width: 60px;
    height: 39px;
    left: 0;
    top: 0;
  }
}
.file {
  position: absolute;
  left: 0;
  opacity: 0;
}

 

实际的框框是这样的

 

 

 

 

posted @ 2019-10-30 20:50  Joyceandlee  阅读(10408)  评论(0编辑  收藏  举报