vue+element-ui form表单嵌套upload实现图片上传

这篇博客详细介绍了如何利用Element-UI的el-upload组件进行图片上传,并将上传成功的URL自动填充到input框中,作为表单的一部分提交。过程中涉及到文件类型检查、axios请求、响应处理及SessionStorage的使用。
摘要由CSDN通过智能技术生成

upload上传之后服务器返回一串url,然后将url自动填入input框,随form表单一起提交到服务器

<el-form-item label="头像" prop="head">
                    <!-- <el-input v-model="addForm.head"></el-input> -->
                    <div class="el-upload-img">
                        <el-upload
                            :http-request="onImport">
                            <el-button slot="trigger" size="mini" type="primary">点击上传</el-button>
                            <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
                        </el-upload>
                     </div>
                     <el-input v-model="addForm.head"></el-input>
 </el-form-item>

method里:

//图片上传
        async onImport({ file }) {
            let isImage = ['png', 'jpeg', 'jpg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff']
            let form = new FormData()
            let arr = file.name.split('.')
            let suffix = arr[arr.length - 1]
            if (isImage.indexOf(suffix) == -1) {
                return this.$message.error('文件格式错误')
            }
            form.append('file', file)
            const {data:res} = await this.$http.post('/pic/uploadImg',form)

            console.log(res)
            if (res.status == 200) {
                this.$message.success('上传成功')
                this.imageUrl = res.data
                console.log(this.imageUrl)
                window.sessionStorage.setItem("head",res.data);
                this.addForm.head=res.data
                // addForm.head = this.imageUrl
                // console.log(addForm.head)
                // this.$emit('success')
                } 
            else {
                this.$message.error('上传失败')
                }
            
            },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值