element-plus中el-upload组件限制上传文件类型的方法

 更新时间:2024年02月06日 11:40:59   作者:幼稚鬼_Blog  
 Element Plus 中,el-upload 组件可以通过设置 accept 属性来限制上传文件的格式,这篇文章主要介绍了element-plus中el-upload组件限制上传文件类型,需要的朋友可以参考下

element-plus中el-upload组件限制上传文件类型

 Element Plus 中,el-upload 组件可以通过设置 accept 属性来限制上传文件的格式

1.限制上传图片文件

<el-upload
  accept="image/*"
  action="/upload"
  :on-success="handleSuccess"
>
  <el-button slot="trigger" size="small" type="primary">点击上传</el-button>
</el-upload>

2.限制上传 Excel 文件

<el-upload
  accept=".xls,.xlsx"
  action="/upload"
  :on-success="handleSuccess"
>
  <el-button slot="trigger" size="small" type="primary">点击上传</el-button>
</el-upload>

Element-plus upload上传限制文件类型,文件大小

html部分:

        
<template>
  <el-upload
    v-model:file-list="fileList"
    class="upload-demo"
    :http-request="uploadFile"
    multiple
    :on-preview="handlePreview"
    :on-remove="handleRemove"
    :on-success="message"
    :before-remove="beforeRemove"
    :limit="1"
    :on-exceed="handleExceed"
  >
    <el-button type="primary">选择文件</el-button>
    <template #tip>
      <div class="el-upload__tip">
        支持格式:zip,ppt,pdf,word,excel,csv,png,jpg,单个文件不能超过20MB
      </div>
    </template>
  </el-upload>
</template>

JS部分:

        
// 上传文件
const uploadFile = async (file) => {
  const allowedFileTypes = [
    "application/vnd.ms-excel", // Microsoft Excel 表格
    "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", //xlx
    "application/zip", // Zip files
    "application/vnd.ms-powerpoint", // PowerPoint files
    "application/pdf", // PDF files
    "application/msword", // Word files
    "application/vnd.openxmlformats-officedocument.wordprocessingml.document", //docx
    "text/csv", // CSV files
    "image/png", // PNG images
    "image/jpeg", // JPG images
  ];
  const maxSize = 20 * 1024 * 1024; // 20MB
  if (file) {
    const options = {
      meta: { temp: "demo" },
      mime: "json",
      headers: { "Content-Type": "text/plain" },
    };
    const isLt20M = file.file.size <= maxSize;
    if (!isLt20M) {
      ElMessage({
        type: "error",
        message: "文件大小超过20MB",
      });
      fileList.value = [];
      return false; // 阻止文件上传
    }
    if (!allowedFileTypes.includes(file.file.type)) {
      ElMessage({
        type: "error",
        message: "文件格式错误",
      });
      fileList.value = [];
      return false; // 阻止文件上传
    }
    try {
      //向后端上传文件
      const result = await client.value.put(file.file.name, file.file, options);
      oosurl.value = result.url;
    } catch (e) {
      // Handle the error
    }
  } else {
    ElMessage.warning({
      message: "No file selected",
      type: "warning",
    });
  }

到此这篇关于element-plus中el-upload组件限制上传文件类型的文章就介绍到这了,更多相关element-plus限制上传文件类型内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍

    对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍

    今天小编就为大家分享一篇对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • vue3+electron12+dll开发客户端配置详解

    vue3+electron12+dll开发客户端配置详解

    本文将结合实例代码,介绍vue3+electron12+dll客户端配置,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • Vue实现简单可扩展甘特图的方法详解

    Vue实现简单可扩展甘特图的方法详解

    Ganttastic是一个小型的Vue.js组件,用于在Web应用程序上呈现一个可配置的、可拖动的甘特图。本文就将用它来实现简单可扩展的甘特图,感兴趣的可以尝试一下
    2022-11-11
  • 解决vue中el-tab-pane切换的问题

    解决vue中el-tab-pane切换的问题

    这篇文章主要介绍了解决vue中el-tab-pane切换的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • vue使用exif获取图片旋转,压缩的示例代码

    vue使用exif获取图片旋转,压缩的示例代码

    这篇文章主要介绍了vue使用exif获取图片旋转,压缩的示例代码,帮助大家更好的利用python处理图片,感兴趣的朋友可以了解下
    2020-12-12
  • Vue自定义组件双向绑定实现原理及方法详解

    Vue自定义组件双向绑定实现原理及方法详解

    这篇文章主要介绍了Vue自定义组件双向绑定实现原理及方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 浅谈关于vue中scss公用的解决方案

    浅谈关于vue中scss公用的解决方案

    这篇文章主要介绍了浅谈关于vue中scss公用的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • vue.js入门教程之计算属性

    vue.js入门教程之计算属性

    Vue.js 的内联表达式非常方便,但它最合适的使用场景是简单的布尔操作或字符串拼接。如果涉及更复杂的逻辑,你应该使用计算属性。这篇文章我们将一起学习vue.js的计算属性。什么是计算属性,为什么要用这东西呢?通过下面这篇文章你将解决这些问题,下面来一起看看吧。
    2016-09-09
  • Vue.js实现点击左右按钮图片切换

    Vue.js实现点击左右按钮图片切换

    这篇文章主要为大家详细介绍了Vue.js实现点击左右按钮图片切换,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • vue中点击下载图片的实现方法

    vue中点击下载图片的实现方法

    这篇文章主要给大家介绍了关于vue中点击下载图片的实现方法,在Vue的模板中,我们可以将下载属性绑定至或元素上,用来实现点击下载,需要的朋友可以参考下
    2023-08-08

最新评论