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('上传失败')
}
},