el-upload手动上传图片并限制图片数量、大小和格式

本文介绍如何在Vue项目中结合ElementUI组件el-upload,实现手动上传图片的功能,并详细设置图片数量、大小及格式的限制,确保上传符合规范。
摘要由CSDN通过智能技术生成

template部分:

  <!-- 修改弹窗 -->
  <el-dialog :title="dialogTxt" @close="closeDialog" :visible.sync="alertBox">
    <el-form ref="addForm" :rules="rules" :model="addForm" size="medium" label-width="100px">
      <el-row>
        <el-col :span="12">
          <el-form-item label="知识标题:" prop="knowledgeTitle">
            <el-input v-model="addForm.knowledgeTitle"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="内容:" prop="knowledgeContent">
            <el-input v-model="addForm.knowledgeContent"></el-input>
          </el-form-item>
        </el-col>

        <!-- 图片上传 -->
        <el-col :span=
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
el-upload 是一个 Element UI 提供的组件,可以用来上传文件,其中也包括图片。在手动上传图片时,可以使用以下步骤: 1. 在模板中使用 el-upload 组件,并设置相应的属性: ```html <el-upload class="upload-demo" action="/upload" :on-success="handleSuccess" :before-upload="beforeUpload" :show-file-list="false"> <el-button size="small" type="primary">点击上传</el-button> <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> </el-upload> ``` 其中,`action` 属性指定了上传文件的 URL,`on-success` 属性指定了上传成功后的回调函数,`before-upload` 属性指定了上传前的处理函数,`show-file-list` 属性设置为 `false`,表示不展示已上传的文件列表。 2. 在 Vue 实例中定义相应的方法: ```javascript export default { methods: { handleSuccess(response, file, fileList) { console.log(response, file, fileList); }, beforeUpload(file) { const isJPG = file.type === 'image/jpeg' || file.type === 'image/png'; const isLt2M = file.size / 1024 / 1024 < 2; if (!isJPG) { this.$message.error('上传头像图片只能是 JPG 格式!'); } if (!isLt2M) { this.$message.error('上传头像图片大小不能超过 2MB!'); } return isJPG && isLt2M; }, }, }; ``` `handleSuccess` 方法会在上传成功后被调用,参数 `response` 表示服务端返回的数据,`file` 表示当前上传的文件,`fileList` 表示已上传的文件列表。 `beforeUpload` 方法会在上传前被调用,参数 `file` 表示当前要上传的文件。在该方法中,可以进行文件类型、大小等的校验。如果校验不通过,可以通过 `this.$message.error` 方法弹出错误提示。 注意:以上代码中的 `this.$message` 是 Element UI 提供的消息提示组件,需要在 Vue 实例中进行注册。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值