// action一般为线上地址
<el-upload
class="avatar-uploader"
action="https://jsonplaceholder.typicode.com/posts/"
:show-file-list="false"
accept="image/jpeg,image/png,image/bmp"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
<style>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
</style>
<script>
export default {
data() {
return {
imageUrl: ''
};
},
methods: {
handleAvatarSuccess(res, file) {
this.imageUrl = URL.createObjectURL(file.raw);
},
beforeAvatarUpload(file) {
//const isJPG = file.type === 'image/jpeg';
const isLt2M = file.size / 1024 / 1024 < 2;
//if (!isJPG) {
// this.$message.error('上传头像图片只能是 JPG 格
//式!');
}
if (!isLt2M) {
this.$message.error('上传头像图片大小不能超过 2MB!');
}
return isJPG && isLt2M;
}
}
}
</script>
Upload 上传(element ui)
最新推荐文章于 2025-11-24 20:03:37 发布
该代码示例展示了一个Vue.js组件,用于用户头像的上传。组件使用el-upload实现,限制了上传文件类型为JPEG,PNG,BMP,并且文件大小不能超过2MB。上传成功后,使用URL.createObjectURL显示图片。在上传前有校验,确保文件格式和大小符合要求。
3376

被折叠的 条评论
为什么被折叠?



