vue+element upload 手动上传

限制文件类型,以及文件大小。

<template>
  <el-upload
    style="padding:20px"
    class="upload-demo"
    ref="upload"
    :before-upload="beforeUpload"
    :action="url"
    :on-preview="handlePreview"
    :on-remove="handleRemove"
    :on-success="handleSuccess"
    :on-error="handleError"
    :file-list="fileList"
    :auto-upload="false"
    :limit="1"
    :data="formdata"
    accept=".ppt, .pptx"
  >
    <el-button slot="trigger" type="primary">选取PPT文件</el-button>
    <el-button style="margin-left: 10px;" type="success" @click="submitUpload">上传到服务器</el-button>
  </el-upload>
</template>
<script>
export default {
  data() {
    return {
      //formdata:{type:0},//是否携带参数
      fileList: [],
      url: "/api/upload/uploadppt"
    };
  },
  methods: {
    handleChange(file, fileList) {
      console.log(file, fileList);
    },
    submitUpload() {
      this.$refs.upload.submit();
    },
    handleRemove(file, fileList) {
      console.log(file, fileList);
    },
    handlePreview(file) {
      console.log(file.name);
    },
    handleSuccess(res, file){
        this.$message.success(file.name + " 上传成功!")
        this.$refs.upload.clearFiles();
    },
    handleError(err, file){
        // console.log(err,file)
        this.$message.error(file.name + " 上传失败!")
    },
    beforeUpload(file) {
      var testmsg = file.name.substring(file.name.lastIndexOf(".") + 1);
      const extension = testmsg === "ppt";
      const extension2 = testmsg === "pptx";
      // const isLt2M = file.size / 1024 / 1024 < 10
      if (!extension && !extension2) {
        this.$message({
          message: "上传文件只能是 ppt、pptx格式!",
          type: "warning"
        });
      }
      // if(!isLt2M) {
      //     this.$message({
      //         message: '上传文件大小不能超过 10MB!',
      //         type: 'warning'
      //     });
      // }
      // return (extension || extension2) && isLt2M
      return extension || extension2;
    }
  }
};
</script>
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值