返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Elementel-upload上传组件使用详解
  • 336
分享到

Elementel-upload上传组件使用详解

2024-04-02 19:04:59 336人浏览 独家记忆
摘要

目录基本用法上传文件数量上传格式及大小限制上传过程中的各种钩子显示已上传文件列表上传时提交数据选取和上传分开处理upload上传是前端开发很常用的一个功能,在Vue开发中常用的Ele

upload上传是前端开发很常用的一个功能,在Vue开发中常用的Element组件库也提供了非常好用的upload组件。

基本用法

代码:

<el-upload :action="uploadActionUrl">
    <el-button size="small" type="primary">点击上传</el-button>
</el-upload>

这个基本不用说,:action是执行上传动作的后台接口,el-button是触发上传的按钮。

上传文件数量

首先是设置是否可以同时选中多个文件上传,这个也是<input type='file'>的属性,添加multiple即可。另外el-upload组件提供了:limit属性来设置最多可以上传的文件数量,超出此数量后选择的文件是不会被上传的。:on-exceed绑定的方法则是处理超出数量后的动作。代码如下:

<el-upload 
    :action="uploadActionUrl"
    multiple
    :limit="3"
    :on-exceed="handleExceed">
    <el-button size="small" type="primary">点击上传</el-button>
</el-upload>

上传格式及大小限制

如果需要限制上传文件的格式,需要添加accept属性,这个是直接使用<input type='file'>一样的属性了,accept属性的值可以是accept="image/gif, image/jpeg, text/plain, application/pdf"等等。文件格式的提示,则可以使用slot。代码如下:

<el-upload 
    :action="uploadActionUrl"
    accept="image/jpeg,image/gif,image/png"
    multiple
    :limit="3"
    :on-exceed="handleExceed">
    <el-button size="small" type="primary">点击上传</el-button>
    <div slot="tip" class="el-upload__tip">请上传图片格式文件</div>
</el-upload>

注意这里只是选择文件时限制格式,其实用户还是可以点选“所有文件”选项,上传其他格式。如果需要在在上传时再次校验,择需要在:before-upload这个钩子绑定相应的方法来校验,代码如下:

<el-upload 
    :action="uploadActionUrl"
    accept="image/jpeg,image/gif,image/png"
    :before-upload="onBeforeUpload"
    multiple
    :limit="3"
    :on-exceed="handleExceed">
    <el-button size="small" type="primary">点击上传</el-button>
    <div slot="tip" class="el-upload__tip">请上传图片格式文件</div>
</el-upload>
...
    onBeforeUpload(file)
    {
      const isIMAGE = file.type === 'image/jpeg'||'image/gif'||'image/png';
      const isLt1M = file.size / 1024 / 1024 < 1;

      if (!isIMAGE) {
        this.$message.error('上传文件只能是图片格式!');
      }
      if (!isLt1M) {
        this.$message.error('上传文件大小不能超过 1MB!');
      }
      return isIMAGE && isLt1M;
    }

这里在限制文件格式的同时,也做了文件大小的校验。

上传过程中的各种钩子

这里直接搬运官网的说明了,如图:

显示已上传文件列表

这个功能可以说很强大了,可以很清晰的显示已上传的文件列表,并且可以方便的删除,以便上传新的文件。
代码:

<el-upload 
    :action="uploadActionUrl"
    accept="image/jpeg,image/gif,image/png"
    multiple
    :limit="3"
    :on-exceed="handleExceed"    
    :on-error="uploadError"
    :on-success="uploadSuccess"
    :on-remove="onRemoveTxt"
    :before-upload="onBeforeUpload"
    :file-list="files">
    <el-button size="small" type="primary">点击上传</el-button>
    <div slot="tip" class="el-upload__tip">请上传图片格式文件</div>
</el-upload>

实现方法就是:file-list="files"这个属性的添加,其中files是绑定的数组对象,初始为空。
效果如下图:

上传时提交数据

上传文件同时需要提交数据给后台接口,这时就要用到:data属性。

<el-upload 
    :action="uploadActionUrl"
    accept="image/jpeg,image/gif,image/png"
    multiple
    :limit="3"
    :data="uploadData"
    :on-exceed="handleExceed"    
    :on-error="uploadError"
    :on-success="uploadSuccess"
    :on-remove="onRemoveTxt"
    :before-upload="onBeforeUpload"
    :file-list="files">
    <el-button size="small" type="primary">点击上传</el-button>
    <div slot="tip" class="el-upload__tip">请上传图片格式文件</div>
</el-upload>
...
uploadData: {
    dataType: "0",
    oldFilePath:""
}

选取和上传分开处理

有时我们需要把选取和上传分开处理,比如上传图片,先选取文件提交到前端,图片处理后再把base64内容提交到后台。
代码如下:

<el-upload
  action=""
  accept="image/jpeg,image/gif,image/png"
  :on-change="onUploadChange"
  :auto-upload="false"
  :show-file-list="false">
    <el-button slot="trigger" size="small" type="primary">选取</el-button>
    <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传</el-button>
</el-upload>
...
  submitUpload()
  {
    console.log("submit")
  },
  onUploadChange(file)
  {
    const isIMAGE = (file.raw.type === 'image/jpeg' || file.raw.type === 'image/png'|| file.raw.type === 'image/gif');
    const isLt1M = file.size / 1024 / 1024 < 1;

    if (!isIMAGE) {
      this.$message.error('上传文件只能是图片格式!');
      return false;
    }
    if (!isLt1M) {
      this.$message.error('上传文件大小不能超过 1MB!');
      return false;
    }
    var reader = new FileReader();
    reader.readAsDataURL(file.raw);
    reader.onload = function(e){
        console.log(this.result)//图片的base64数据
    }
  }

效果如图:

 到此这篇关于Element el-upload上传组件使用详解的文章就介绍到这了,更多相关Element el-upload上传内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Elementel-upload上传组件使用详解

本文链接: https://lsjlt.com/news/147159.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Elementel-upload上传组件使用详解
    目录基本用法上传文件数量上传格式及大小限制上传过程中的各种钩子显示已上传文件列表上传时提交数据选取和上传分开处理upload上传是前端开发很常用的一个功能,在Vue开发中常用的Ele...
    99+
    2024-04-02
  • Element el-upload上传组件怎么使用
    今天小编给大家分享一下Element el-upload上传组件怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-06-30
  • vue3使用el-upload上传文件示例详解
    目录el-upload上传文件属性方法上传图片的实现存在的坑问题1问题2问题3el-upload上传文件 在项目开发的过程中上传文件的需求是经常会遇到的,这篇文章我们就详细介绍使用...
    99+
    2023-02-21
    vue3 el-upload上传文件 vue3 el-upload
  • Elementel-rowel-col布局组件详解
    目录1. 背景2. 分栏布局3. 分栏间隔4. 分栏偏移4. 对齐方式5. 响应式布局6. 小结1. 背景 element的布局方式与bootstrap原理是一样的,将网页划分成若干...
    99+
    2024-04-02
  • ant-design的upload组件中实现粘贴上传实例详解
    目录什么是粘贴上传?实现步骤总结什么是粘贴上传? 粘贴上传是指用户可以通过复制和粘贴方式上传文件或图片,而不必选择本地文件。这种功能可以为用户带来更加便捷的上传体验,尤其适用于需要上...
    99+
    2023-05-19
    ant-design upload粘贴上传 upload粘贴上传
  • 怎么使用el-upload组件实现递归多文件上传
    本篇内容介绍了“怎么使用el-upload组件实现递归多文件上传”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、需求描述:在页面上点击按钮...
    99+
    2023-07-05
  • elementui上传组件el-upload无法第二次上传怎么解决
    这篇“elementui上传组件el-upload无法第二次上传怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“ele...
    99+
    2023-07-05
  • vue3如何使用el-upload上传文件
    el-upload上传文件在项目开发的过程中上传文件的需求是经常会遇到的,这篇文章我们就详细介绍使用elementplus中el-upload来上传文件了。我们先来看一下el-upload可以配置哪些属性和事件。属性action: 请求ur...
    99+
    2023-05-15
    Vue3 el-upload
  • elementUI怎么使用el-upload上传文件
    本篇内容介绍了“elementUI怎么使用el-upload上传文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Element Uploa...
    99+
    2023-07-05
  • uniapp使用u-upload组件来实现图片上传功能
    目录前言一、官方示例用法二、关闭自动上传,使用手动上传的方式,代码 html 代码总结分析前言 在使用 uniapp 开发的微信小程序中使用了图片上传功能,使用了 uniapp 的图...
    99+
    2023-01-03
    uniapp怎么上传图片 uniapp u-upload组件 uniapp上传文件
  • elementui使用el-upload组件如何实现自定义上传
    目录使用el-upload组件实现自定义上传方式一:选择后自动上传方式二:选择后手动上传使用el-upload上传文件夹封装elementui el-upload文件上传组件使用el...
    99+
    2022-11-13
    elementui el-upload组件 使用el-upload组件 el-upload自定义上传
  • vue3中怎么使用el-upload上传文件
    本文小编为大家详细介绍“vue3中怎么使用el-upload上传文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue3中怎么使用el-upload上传文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。el-...
    99+
    2023-07-06
  • elemetUi 组件--el-upload如何实现上传Excel文件
    这篇文章将为大家详细讲解有关elemetUi 组件--el-upload如何实现上传Excel文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。elemetUi 组件--...
    99+
    2024-04-02
  • vue使用el-upload实现文件上传功能
    因为我是vue+springboot前后分离,要跨域,就不能用默认的action写请求地址,我用axios时最困扰的就是怎么拿到那个真实的文件,然后给传给后台。 其实可以通过自带的o...
    99+
    2024-04-02
  • upload-labs-master文件上传漏洞靶场详解(1-17)
    目录 前言 pass-01 pass-02 pass-03 pass-04 pass-05 pass-06 pass-07 pass-08 pass-09 pass-10  pass-11  pass-12 ...
    99+
    2023-09-16
    php 网络安全
  • el-upload大文件切片上传实现示例详解
    目录背景htmljs备注背景 前端上传大文件时,会出现跨域错误等各类错误,另切片上传可以提高上传效率。固进行以下代码记录,方便后期cv() html <el-upload a...
    99+
    2023-03-15
    el upload大文件切片上传 el upload文件上传
  • jQuery File Upload文件上传插件怎么用
    要使用jQuery File Upload文件上传插件,您需要按照以下步骤进行操作: 首先,引入jQuery和jQuery Fil...
    99+
    2023-10-23
    jQuery
  • 解决ElementUI组件中el-upload上传图片不显示问题
    目录ElementUI组件中el-upload上传图片不显示element的上传图片后不显示照片的功能(原el-upload的修改)ElementUI组件中el-upload上传图片...
    99+
    2024-04-02
  • vue怎么使用el-upload实现文件上传功能
    这篇文章主要介绍了vue怎么使用el-upload实现文件上传功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue怎么使用el-upload实现文件上传功能文章都会有所收获,下面我们一起来看看吧。uploa...
    99+
    2023-06-30
  • vue-upload-component如何封装一个图片上传组件
    这篇文章主要介绍了vue-upload-component如何封装一个图片上传组件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。需求分析业务...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作