• elementui上传图片,到达最大数量隐藏上传按钮,判断文件格式是不是png jpg,文件最大5m


    1. <el-upload action="https://***"
    2. :headers="upheaders" :limit="1" list-type="picture-card"
    3. :on-preview="handlePreview" :on-remove="handleRemove" :on-change="handleChange"
    4. :on-success="handleSuccess" :on-error="handleError" :data="uplistdata"
    5. :file-list="fileList" :class="{hide:uploadDisabled}"
    6. :before-upload="beforeAvatarUpload" ref="upload">
    7. <i class="el-icon-plus">i> <br>
    8. <span class="teacher_el_upload_btn" @click="submitUpload">点击上传照片span>
    9. el-upload>

    action:请求地址

    headers:请求头

    limit:上传图片最大数量

    on-preview : 点击文件中已上传的文件执行的方法

    on-remove:删除某文件执行的方法

    on-change:文件状态改变时,上传成功和失败都会执行

    on-success:文件上传成功执行的方法

    on-error:文件上传失败时执行的方法

    data:需要另外给接口传的别的值

    file-list:上传的文件列表

    beforeAvatarUpload:文件在上传之前执行的方法(我用来判断文件大小和文件类型

    所有方法⬇

    1. handleChange(file, fileList){
    2. this.uploadDisabled = fileList.length >= 1;
    3. },
    4. submitUpload() {
    5. this.$refs.upload.submit()
    6. },
    7. handleError(err, file, fileList) {
    8. this.$message({
    9. message: '上传失败!',
    10. type: 'success'
    11. });
    12. console.log(err);
    13. },
    14. handleSuccess(response, file, fileList) {
    15. this.fileList[0] = response.result
    16. this.uploadedFile = this.registered_form.idCardImg = response.result.url
    17. },
    18. handleRemove(file, fileList) {
    19. this.fileList = [];
    20. this.uploadedFile = '',
    21. setTimeout(()=>{
    22. this.uploadDisabled = false;
    23. },1000)
    24. },
    25. handlePreview(file) {
    26. this.dialogImageUrl = file.url;
    27. this.uploadDisabled = true;
    28. },
    29. //判断是否大于5m
    30. beforeAvatarUpload(file) {
    31. const isLt2M = file.size / 1024 / 1024 < 5;
    32. const isJPG = file.type === "image/jpeg" || file.type === "image/png"
    33. if (!isLt2M) {
    34. this.$message.warning("上传图片大小不能超过 2M!")
    35. return false
    36. } else if (!isJPG) {
    37. this.$message.warning("上传图片格式只能是jpg或png")
    38. return false
    39. }
    40. return isLt2M;
    41. },

    用到的data

    1. uploadedFile: '',
    2. fileList:[],
    3. uploadDisabled:false,
    4. dialogImageUrl: '',
    5. upheaders: {
    6. Authorization: localStorage.getItem('token')
    7. },

    css 

    1. .el-upload--picture-card{
    2. width:100px;
    3. height:100px;
    4. line-height:20px;
    5. padding-top: 25px;
    6. .teacher_el_upload_btn{
    7. font-size: 10px ;
    8. }
    9. }
    10. .hide .el-upload,.hide .el-upload--picture-card{
    11. display: none;
    12. // background:red;
    13. }
    14. .upload .registered{
    15. text-align: left;
    16. }
    17. .el-upload-list--picture-card .el-upload-list__item{
    18. width:100px;
    19. height:100px;
    20. }

  • 相关阅读:
    SpringMVC07、整合SSM
    字节跳动面试问到Hadoop源码,拿40K进大厂的Java程序员必备技能,你还不学习?不想进大厂
    Maven 打包方式探究
    【镜像转存】利用交互式学习平台killercoda转存K8S镜像至Docker私人仓库
    python--连接oracle数据库
    常见6种易被忽略的软件隐藏缺陷
    20220725树状数组入门反思
    【算法实战】每日一题:17.1 订单处理问题(差分思想,二分搜索)
    疾病预防控制中心实验室信息管理系统智慧疾控参数需求
    什么样的性能测试工具才算是好的工具呢?
  • 原文地址:https://blog.csdn.net/stars______/article/details/133140223