<el-upload class="avatar-uploader"
style="height:200px; width:200px; text-align: center; margin:0px 240px; border: 1px dashed #d9d9d9; border-radius: 6px; cursor: pointer; position: relative; overflow: hidden;"
:show-file-list="false" :http-request="uploadPicturePost" :disabled="isView">
<img v-if="studentForm.image" :src="studentForm.imageUrl" class="avatar" style="width:200px">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
//上传图片
uploadPicturePost(file) {
let _this = this;
let fileReq = new FormData();
fileReq.append("avatar", file.file);
return new Promise((resolve, reject) => {
axios({
method: 'post',
url: _this.baseURL + "upload/",
data: fileReq,
headers: {
'Content-Type': 'multipart/form-data'
},
})
.then(res => {
if (res.data.code === 1) {
_this.studentForm.image = res.data.name;
_this.studentForm.imageUrl = _this.baseURL + "media/" + res.data.name;
resolve(); // 上传成功,调用 resolve
} else {
_this.$message.error(res.data.msg)
reject(); // 上传失败,调用 reject
}
})
.catch(err => {
_this.$message.error("头像上传异常")
reject(); // 上传失败,调用 reject
})
})
},
// 根据Id获取image
getImageBySno(sno) {
// 使用Array.find()方法查找匹配的元素
const student = this.students.find((one) => one.sno == sno);
// 判断是否找到了匹配的元素
if (student) {
return student.image;
} else {
// 如果没有找到匹配的元素,可以返回一个默认值或者抛出一个错误
// 这里假设返回一个默认值,你可以根据实际情况调整
return 'default_image.jpg';
}
},
23头像上传-前端
最新推荐文章于 2024-07-22 15:19:55 发布