ElementUI中upload上传文件的使用

文章详细介绍了如何在ElementPlus框架中使用upload组件进行文件上传,包括HTML页面代码设置、data数据定义、上传、删除和文件变化的函数方法实现,以及错误提示的处理。文件上传支持限制数量、格式和大小,并能动态更新文件列表。
摘要由CSDN通过智能技术生成

1.添加HTML页面代码

<el-upload
   v-model:file-list="fileList"
   class="upload-demo"
   action="/portal/authorizedManage/upload"
   :limit="20"
   ref="upload"
   :file-list="fileList"
   :auto-upload="false"
   :on-change="onchange"
   :on-remove="handleRemove"
>
 <el-button type="success" :icon="DocumentAdd">添加附件</el-button>
    <template #tip>
       <div class="el-upload__tip">
         支持office文档、图片格式,单文件上传大小限制10MB,最多上传20个附件
       </div>
    </template>
</el-upload>

2. 定义上传附件相关的data数据

//上传附件相关
const fileList = ref([])
//fileUploadParams 是根据后台接口重新定义的传给后端的文件数据
const fileUploadParams = reactive({
  file: []
})
let fileArr = ref([])

3.定义上传文件、删除文件和文件变化时的函数方法

// 上传函数
const handleUpload = () => {
  // 上传文件  reqUploadFile为自定义的接口
  reqUploadFile(fileUploadParams)
      .then((res) => {
        ElMessage.success('文件上传成功')
        //拿到后端返回的数据并根据自己的需求进行处理
        fileArr.value.push({
          fileName: res.data.fileName,
          originalFilename: res.data.originalFilename
        })
        let newArr = fileArr.value.map((item, index) => {
          return item.fileName
        })
        //这个是处理提交后台文件的,将上传的文件用|号隔开
        formLabelAlign.contentFile = newArr.join('|')
      })
      .catch((e) => {
        ElMessage.error('文件上传失败')
      })
}

//文件改变处理
const onchange = (file) => {
  fileUploadParams.file = file.raw
  if (file.size / 1024 / 1024 < 100) {
    fileList.value.push(file)
    handleUpload()
  } else {
    ElMessage.error('文件过大')
    handleRemove(file)
  }
}

// 文件删除处理
const handleRemove = (file) => {
  fileList.value = fileList.value.filter((f) => file.name !== f.name)
  fileArr.value = fileArr.value.filter((f) => {
    return file.name !== f.originalFilename
  })
  let newArr = fileArr.value.map((item, index) => {
    return item.fileName
  })
  formLabelAlign.contentFile = newArr.join('|')
}

4.注释

1. 该方法采用的是单文件上传,与个人业务需求有关,如有需要可以参考官网文件进行配置
https://element-plus.org/zh-CN/component/upload.html#%E5%B1%9E%E6%80%A7
2.文件提示运用到了ElementPlus的消息提示ElMessage,如有需要可以引入使用

//引入
import {ElMessage} from 'element-plus'

//使用
ElMessage.success('文件上传成功')
ElMessage.error('文件过大')
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ElementUIUpload组件可以用于上传文件使用该组件需要先引入ElementUI库,然后在代码使用<el-upload>标签来创建上传组件。可以设置上传的文件类型、大小限制、上传地址等属性。上传成功后,可以通过回调函数获取上传的文件信息。 ### 回答2: ElementUIupload组件是一个文件上传组件,可以使用户将本地文件上传到服务器,支持多种文件格式和文件数量的上传,同时还可以对上传的文件进行预览、删除或下载等操作。 首先,在使用ElementUIupload组件之前,需要引入ElementUI的样式文件和JavaScript文件,并在页面添加相应的HTML代码。在组件的属性,需要配置上传的url地址、上传文件格式、文件大小限制、上传方式等参数,同时也可以自定义上传时的headers和data参数。在事件,可以添加上传成功、失败、进度等相关的回调函数。 在文件上传的过程,可以使用async-await语法让上传过程异步执行,然后通过axios或fetch等网络请求库将文件上传到服务器,同时也可以在上传的过程添加文件是否为空、文件类型是否符合要求、文件大小是否超出限制等相关的判断逻辑。上传成功或失败后,根据返回的服务器响应数据进行相应的操作,比如提示用户上传成功或失败信息、刷新页面等操作。 总之,ElementUIupload组件是一个十分实用的文件上传组件,可以使用户方便地上传文件到服务器,并进行相应的处理操作,如果加入异步执行和错误处理等相关逻辑,可以大大提高用户体验。 ### 回答3: ElementUI的文件上传组件(upload)是一种简单而强大的工具,它允许用户通过网页上传文件,这在开发大型Web应用程序时非常有用。该组件允许多个文件同时上传,并支持自定义上传行为,例如上传之前和上传完成时可以执行自定义脚本。 该组件具有可定制的UI,可以针对不同的需求进行修改。例如,可以更改上传文件的样式、添加文件名显示、大小限制、文件类型筛选等。它还具有断点续传功能,这意味着即使上传失败或断,也可以恢复文件上传而不需要重新开始。此外,它还支持批量删除和清空文件列表等功能。 在应用程序开发过程ElementUI的上传组件可以与其他组件进行交互来实现更多的功能。例如,可以将文件上传后显示为图像或音频文件,也可以通过API获取已上传文件的信息。此外,此组件还可以通过事件触发器对每个上传过程进行监视,包括上传开始、上传进度、上传成功或失败等。 总之,ElementUI的上传组件是一种易于使用而且灵活的工具,可以满足开发大型Web应用程序时各种上传文件的需求。它采用现代化的设计和灵活的响应性,可以轻松地与其他组件进行集成,从而为用户提供最佳的用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值