Skip to content

批量上传

批量上传控件用于拖拽文件到指定区域进行批量上传,支持文件类型、大小、数量限制,以及上传前检查和上传完成回调。

属性

sg-accept

  • 说明:文件类型限制(.扩展名逗号隔开),不填则不限制
  • 类型string
  • 默认值""

示例:

json
"sg-accept":".jpg,.png"

sg-auto

  • 说明:自动上传(1:开启,选择文件后自动上传;0:不开启,手动点击上传按钮上传)
  • 类型string
  • 默认值"0"

示例:

json
"sg-auto":"1"

sg-count

  • 说明:上传文件数量限制,不填则不限制
  • 类型number

示例:

json
"sg-count":5

sg-filesize

  • 说明:文件大小限制,不填则不限制
  • 类型string

示例:

json
"sg-filesize":"50MB"

sg-ignore

  • 说明:上传时某个文件失败的处理方式。1:忽略失败继续上传;0 或不填:失败后报错,同时调用 sg-callback 里面的方法
  • 类型string
  • 默认值"0"

示例:

json
"sg-ignore":"1"

sg-preview

  • 说明:图片预览。1:开启;0:关闭(文件多的场景,建议关闭防止卡机)
  • 类型string
  • 默认值"1"

示例:

json
"sg-preview":"0"

sg-check

  • 说明:上传之前检查,填入方法名。方法返回 true 表示验证成功可以导入列表,返回 false 表示不进入列表,也支持返回 list(可自行移除不需要的文件)
  • 类型string

示例:

json
"sg-check":"check_func"

JS 代码区的方法:

js
function check_func(list) {
  // list 参数说明:
  // extname:扩展名
  // originalFileName:文件名
  // size:文件大小
  // 可以判断文件是否合适,也可以把不需要的从 list 移除

  // 返回 false:不进入列表
  // 返回 true:全部进入列表
  // 返回 list:仅 list 中的文件进入列表
  return true;
}

sg-callback

  • 说明:上传完成后回调,填入方法名
  • 类型string

示例:

json
"sg-callback":"callback_func"

JS 代码区的方法:

js
function callback_func(data) {
  // data.errcode:状态码,0 为正常,其他为异常
  // data.errmsg:错误信息
  // data.list:文件列表
  // data.errobj:异常文件对象

  if (data.errcode === 0) {
    console.log("上传成功", data.list);
  } else {
    console.log("上传异常", data.errmsg, data.errobj);
  }
}

data 参数说明:

参数名类型说明
errcodenumber状态码,0 为正常,其他为异常
errmsgstring错误信息
listArray文件列表
errobjObject异常文件对象

list 数据说明:

参数名类型说明
extnamestring扩展名
fileNamestring线上文件名
filePathstring文件路径
originalFileNamestring原始文件名
sizenumber文件大小

方法

getUploadList

手动获取上传文件列表。

语法:

js
getUploadList(html_id)

参数:

参数名类型必填说明
html_idstring批量上传控件的 html id

返回值:

返回上传文件列表,列表项结构同 list 数据说明

示例:

js
// 获取上传文件列表
var list = getUploadList("uploadBox");
console.log(list);

基于 MIT 许可发布