使用element-ui中el-upload组件时

  1. <el-upload
  2. :show-file-list="false"
  3. class="upload-icon-button"
  4. :data="{
  5. 接口入参
  6. }"
  7. accept=".png,.jpg,.ico,.jpeg"
  8. :before-upload="beforeChangeFavoicon"
  9. :on-success="changeFavoicon"
  10. :auto-upload="true"
  11. action="上传文件接口"
  12. >
  13. </el-upload>

1.首先可以使用accept,让用户首先看到规定类型,此方法用户可以更改选择框中右下角类型选择其他类型文件。
2.在:before-upload=”beforeChangeFavoicon”方法中获得file.type做限制。

  1. beforeChangeFavoicon(file) {
  2. this.uploadIconLoading = true;
  3. const isJPG = file.type === "image/jpg" || file.type === "image/png" || file.type === "image/x-icon" || file.type === "image/jpeg";
  4. const isLt2M = file.size / 1024 / 1024 < 2;
  5. if (!isJPG) {
  6. this.$message.error("上传图片只支持是 JPG、PNG、JPEG、X-ICO 格式!");
  7. this.uploadIconLoading = false;
  8. }
  9. if (!isLt2M) {
  10. this.$message.error("上传图片大小不能超过 2MB!");
  11. this.uploadIconLoading = false;
  12. }
  13. return isJPG && isLt2M;
  14. },

  1. // 上传前验证
  2. beforeAvatarUpload(file) {
  3. let Xls = file.name.split('.');
  4. if(Xls[1] === 'xls'||Xls[1] === 'xlsx'){
  5. return file
  6. }else {
  7. this.$message.error('上传文件只能是 xls/xlsx 格式!')
  8. return false
  9. }
  10. },