element组件图片上传

实现功能:上传、修改并将头像保存在页面上

1.action:必选参数,上传的地址(就是用post发送请求的地址);
2.data:上传时附带的额外参数,数据类型是object,可以用来传替token值;
3.name:上传的文件字段名,数据类型是 string,默认值是file(后端接受图片文件要用file这个字段名!!!!)**可以修改,在 el-upload标签中写入name=“其他字段名”。
4.显示头像:img标签中v-if要恒等于true,等于imgurl的话,只有上传图片,有图片地址时img标签才显示,否则img标签元素会隐藏。

HTML代码

            <el-upload
                    class="avatar-uploader"
                    :action="上传图片给谁"
                    :show-file-list="false"
                    :data="{auth_code:token}"//附带参数
                    :on-success="handleAvatarSuccess"//上传成功后,自动执行
                    :before-upload="beforeAvatarUpload">//上传前自动执行,做图片验证
                <img v-if="true" :src="imageUrl" class="avatar" id="phone">
                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
            </el-upload>
            <span class="upload_span" v-if="!imageUrl">支持大小不超过2M的JPG,GIF,PNG图片上传</span>

js代码

 {
     created() {
            this.token = localStorage.getItem('auth_code');给后台的token值
            this.imageUrl = localStorage.getItem('imageUrl');将地址从本地数据库中拿出。
        },
        methods: {
            //上传成功后,会自动执行。res是后端返回的数据
            handleAvatarSuccess(res) {
                // this.imageUrl = URL.createObjectURL(file.raw);
                this.imageUrl = res.payload[0].image;
                localStorage.setItem('imageUrl', this.imageUrl);  //将地址存入本地数据库中。
                在实际开发中,是在请求页面数据时,头像数据也会请求回来,
                这时将数据再传替给头像的src,才能实现刷新后头像仍然存在页面上。
                所以饿了么上传头像组件,只能实现头像上传。上传成功后,
                还需要在created或者mounted里面发送请求才能实现页面刷新后头像仍然存在。
            }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值