前端上传组件

普通文件上传

普通文件上传示例
<upload-file @change="success" />

属性说明

属性名称描述类型默认值
modelValue组件的值string / Array必传
limit数量限制number (非必传)5
fileSize文件大小限制number (非必传)5MB
minFileSize最小文件大小限制(KB),低于此大小的文件视为无效文件number (非必传)0(不限制)
fileType文件类型限制Array (非必传)['png', 'jpg', 'jpeg', 'doc', 'xls', 'ppt', 'txt', 'pdf', 'docx', 'xlsx', 'pptx']
isShowTip是否显示提示boolean (非必传)true
uploadFileUrl上传文件的 API 方法string (非必传)'/admin/sys-file/upload'
type组件类型string (非必传)'default'
data需要额外传递给 API 的数据Object (非必传)-
dir子目录名称String (非必传)a/b 格式,v5.3+
autoUpload是否自动上传文件boolean (非必传)true
文件类型限制

通过 fileType 属性可以限制允许上传的文件类型,默认支持常见的文档和图片格式。如需自定义,请传入文件扩展名数组。

图片上传

图片上传示例
<upload-img v-model:imageUrl="formData.avatar" borderRadius="50%">
  <template #empty>
    <el-icon><Avatar /></el-icon>
    <span>请上传头像</span>
  </template>
</upload-img>

属性说明

属性名称描述类型
imageUrl图片地址(双向绑定,上传会更新返回此字段)string (必传)
uploadFileUrl上传图片的 API 方法string (非必传)
dir子目录名称String (非必传),a/b 格式,v5.3+
drag是否支持拖拽上传boolean (非必传,默认为 true)
disabled是否禁用上传组件boolean (非必传,默认为 false)
fileSize图片大小限制number (非必传,默认为 5M)
fileType图片类型限制File.ImageMimeType[] (非必传,默认为 ["image/jpeg", "image/png", "image/gif"])
height组件高度string (非必传,默认为 150px)
width组件宽度string (非必传,默认为 150px)
borderRadius组件边框圆角string (非必传,默认为 8px)
双向绑定

使用 v-model:imageUrl 实现双向数据绑定,上传成功后会自动更新绑定的图片地址。

Excel 文件上传

Excel文件上传示例
<upload-excel
  ref="excelUploadRef"
  :title="$t('sysuser.importUserTip')"
  temp-url="/admin/sys-file/local/file/user.xlsx"
  url="/admin/user/import"
  @refreshDataList="getDataList"
/>

属性说明

属性名称描述类型
url导入文件后台接口String
title弹出框标题String
tempUrl获取当前导入 Excel 模板地址String
模板下载

使用 Excel 导入功能时,建议先提供模板文件供用户下载,确保导入数据格式正确。通过 tempUrl 属性配置模板下载地址。

图片粘贴上传组件

版本要求

V5.11 及以后版本新增支持

<template>
  <ImagePaste v-model="imageUrls" />
</template>

<script setup lang="ts">
import ImagePaste from '/@/components/Upload/ImagePaste.vue';

const imageUrls = ref('');
</script>

Props

属性类型默认值说明
modelValueString / Object / Array''绑定值,多图以逗号分隔
actionString/admin/sys-file/upload上传接口地址
dataObject{}上传时携带的额外参数
limitNumber5图片数量限制
fileSizeNumber2文件大小限制(MB)
fileTypeString[]['png', 'jpg', 'jpeg']允许的文件类型
isShowTipBooleantrue是否显示上传提示
disabledBooleanfalse是否禁用

Events

事件名参数说明
update:modelValue(value: string)图片列表变化时触发,返回逗号分隔的 URL 字符串
粘贴上传

ImagePaste 组件支持直接粘贴剪贴板中的图片,适用于快速上传截图等场景,大幅提升用户体验。