Skip to content

上传文件

用于表单上传文件。

使用方法

手动在 Html 元素上调用初始化函数并通过配置指定表单字段名即可使用上传文件组件,默认已开启多文件上传、重命名和删除功能。

html
<div id="example1"></div>
js
const upload = new Upload('#example1', {
    name: 'files1'
});

单文件上传

multiple 属性设置为 false 可实现只允许上传 1 个文件,默认为 true

js
const upload = new Upload('#example2', {
    name: 'files2',
    multiple: false,
});

限制上传文件数量

开启多文件上传时可通过设置 limitCount 属性限制上传文件的数量。

js
const upload = new Upload('#example3', {
    name: 'files3',
    multiple: true,
    limitCount: 5,
    exceededCountHint: '超出上传文件数量限制',
});

限制上传文件大小

通过设置 limitSize 属性可限制上传文件的大小。

js
const upload = new Upload('#example4', {
    name: 'files4',
    multiple: true,
    limitSize: '50MB',
    exceededSizeHint: '超出上传文件大小限制',
});

删除和重命名功能

关闭删除和重命名功能

通过将 deleteBtnrenameBtn 属性设置为 false 可关闭删除和重命名功能,默认为 true

js
const upload = new Upload('#example5', {
    name: 'files5',
    renameBtn: false,
    deleteBtn: false,
});

使用文本按钮

useIconBtn 属性设置为 false 可启用文本按钮,默认为 true

js
const upload = new Upload('#example6', {
    name: 'files6',
    useIconBtn: false,
});

拖拽上传文件

draggable 属性设置为 true 可启用拖拽上传文件功能,默认为 false

js
const upload = new Upload('#example7', {
    name: 'files7',
    draggable: true,
    tip: '可点击添加或拖拽上传,不超过50M',
});

默认文件列表

通过设置 defaultFileList 属性为组件添加默认文件列表。

js
const file1 = new File(['file1'], 'file1.txt', {
    type: 'text/plain',
});
const file2 = new File(['file2'], 'file2.txt', {
    type: 'text/plain',
});
const upload = new Upload('#example8', {
    name: 'files8',
    defaultFileList: [file1, file2]
});

选项

name

表单字段名。

  • 类型:string
  • 必选:是

icon

文件图标。

  • 类型:string
  • 必选:否
  • 默认值:'file-o'

showIcon

是否显示文件图标。

  • 类型:boolean
  • 必选:否
  • 默认值:true

showSize

是否显示文件大小。

  • 类型:boolean
  • 必选:否
  • 默认值:true

multiple

是否开启多文件上传。

  • 类型:boolean
  • 必选:否
  • 默认值:true

listPosition

文件列表位置。

  • 类型:'bottom' | 'top'
  • 必选:否
  • 默认值:'bottom'

uploadText

上传按钮文本。

  • 类型:string
  • 必选:否
  • 默认值:'上传文件'

uploadIcon

上传按钮图标。

  • 类型:string
  • 必选:否

renameBtn

是否启用重命名按钮。

  • 类型:boolean
  • 必选:否
  • 默认值:true

renameIcon

重命名按钮图标。

  • 类型:string
  • 必选:否
  • 默认值:'edit'

renameText

重命名按钮文本。

  • 类型:string
  • 必选:否
  • 默认值:'重命名'

renameClass

重命名按钮类。

  • 类型:string
  • 必选:否

deleteBtn

是否启用删除按钮。

  • 类型:boolean
  • 必选:否
  • 默认值:true

deleteIcon

删除按钮图标。

  • 类型:string
  • 必选:否
  • 默认值:'trash'

deleteText

删除按钮文本。

  • 类型:string
  • 必选:否
  • 默认值:'删除'

deleteClass

删除按钮类。

  • 类型:string
  • 必选:否

confirmText

确认重命名按钮文本。

  • 类型:string
  • 必选:否
  • 默认值:'确定'

cancelText

取消重命名按钮文本。

  • 类型:string
  • 必选:否
  • 默认值:'取消'

useIconBtn

是否使用图标按钮。

  • 类型:boolean
  • 必选:否
  • 默认值:true

tip

文件上传提示。

  • 类型:string
  • 必选:否

btnClass

上传按钮类。

  • 类型:string
  • 必选:否

onAdd

文件变更回调。

  • 类型:(files: File[] | File) => void
  • 必选:否

onDelete

删除文件回调。

  • 类型:(file: File) => void
  • 必选:否

onRename

重命名文件回调。

  • 类型:(newName: string, oldName: string) => void
  • 必选:否

onSizeChange

文件大小变更回调。

  • 类型:(size: number) => void
  • 必选:否

draggable

是否启用拖拽功能。

  • 类型:boolean
  • 必选:否
  • 默认值:false

limitCount

上传文件最大数量限制。

  • 类型:number
  • 必选:否

accept

上传文件类型。

  • 类型:string
  • 必选:否

defaultFileList

默认文件列表。

  • 类型:File[]
  • 必选:否

limitSize

上传文件最大大小限制。

  • 类型:${number}${'B' | 'KB' | 'MB' | 'GB'} | false
  • 必选:否

duplicatedHint

重复文件提示。

  • 类型:string
  • 必选:否

onDuplicated

文件重复回调。

  • 类型:(name: string) => void
  • 必选:否

exceededSizeHint

超出大小限制提示。

  • 类型:string
  • 必选:否

onExceededSize

超出大小限制回调。

  • 类型:(limit: number) => void
  • 必选:否

exceededCountHint

超过数量限制提示。

  • 类型:string
  • 必选:否

onExceededCount

超过数量限制回调

  • 类型:(limit: number) => void
  • 必选:否

MIT License (MIT)