3.1.27 • Published 2 years ago

nsc-uploader v3.1.27

Weekly downloads
143
License
ISC
Repository
github
Last release
2 years ago

Install

  npm install nsc-uploader

文件上传

文件先上传支持阿里云或者Minio

控制文件显示顺序与文件原始顺序一致

上传控制

限制文件大小、数量、格式

文件拖拽排序,上传完成后可以支持拖拽排序

文件展示

初始化时显示已上传的文件列表 显示原始文件名,可以切换展示样式,grid或list

获取OSS Client

  import { createInstance,Uploader } "nsc-uploader";
  const client = createInstance(getOssParams);

url签名 (组件内部默认会对url自动签名所以这个api根据场景需要在用)

  import { createInstance, Uploader } "nsc-uploader";
  const client = createInstance(getOssParams);
  //Minio
  client.signatureUrl(File) --> Promise
  //阿里云
  client.signatureUrl(url) --> url

API

参数说明类型默认值
type上传组件类型,默认'select',设置为‘dragger'时,可拖拽上传string
getOssParamsPromise或Object,初始化OSS,详见 getOssParamsObject or Promise
maxFileSize最大文件大小(MB)number
maxFileNum最多上传文件数量number
accept接受上传的文件类型,详见 input accept Attributestring
fileErrorMsg文件大小、格式、数量不满足时的提示信息,详见fileErrorMsgarray
listType文件展示方式,支持三种基本样式 text, picture 和 picture-cardarray'picture-card'
dragSortable控制是否可拖拽排序booleanfalse
defaultFiles默认已经上传的文件列表array[]
onFileChange上传文件成功后的回调,详见 onFileChangeFunction(file,fileList): void
multiple是否支持多选文件booleanfalse
autoSave是否自动上传booleantrue
onSave文件上传到服务器的回调Function(file): void
onRemove服务器删除文件的回调Function(file): void
onSortEnd文件拖拽排序回调,返回排序前文件列表和排序后文件列表Function(oldFileList,newFileList): void
disabled是否禁用booleanfalse
name发到后台的文件参数名string'file'
showUploadList是否展示文件列表, 可设为一个对象,用于单独设定 showPreviewIcon, showRemoveIconshowDownloadIconBoolean or { showPreviewIcon?: boolean, showRemoveIcon?: boolean, showDownloadIcon?: boolean }true
showUploadButton是否展示上传按钮,booleantrue
showRadioButton是否展示显示样式切换单选按钮, 可设为一个对象,用于单独设定 placement(按钮位置,默认'right'), radioItems详见 radioItems ,showRadioTitleBoolean or { placement: 'right''center''right', radioItems?: Array ,showRadioTitle?: boolean}booleantrue
customRadioButton自定义样式切换组件React.ReactNode

getOssParams

let STS_TOKEN = null
getUploadClientParams = (token) => {
  return {
    accessKeyId: token.AccessKeyId,
    accessKeySecret: token.AccessKeySecret,
    stsToken: token.SecurityToken,
    region: OSS_ENDPOINT,
    bucket: OSS_BUCKET,
  };
}

// 如果getOssParams是Promise
getOssParams = () => {
  return new Promise((resolve, reject) => {
    if (!STS_TOKEN || (STS_TOKEN && (new Date(STS_TOKEN.Expiration) < Date.now()))) {
      attachmentAPI.getSTSToken().then(r => {
        if (r) {
          STS_TOKEN = r
          resolve(getUploadClientParams(STS_TOKEN))
        } else {
          reject()
        }
      })
    } else {
      resolve(getUploadClientParams(STS_TOKEN))
    }
  })
}

// 如果getOssParams是Object
getOssParams = () => {
  return {
    bucket:'',
    endPoint:'',
    useSSL: false,
    port:'',
    region:'',
    secretKey:'',
    accessKey:'',
    sessionToken:''    
  }
}

fileErrorMsg

自定义文件大小、格式、数量错误提示信息

  {
    fileExtensionErrorMsg: '', //文件格式错误提示信息
    fileSizeErrorMsg:'' , //文件过大提示信息
    fileNumerErrorMsg: '' //文件数量过多提示信息
  }

onFileChange

文件列表状态改变的回调,调用这个函数,刷新文件列表。

返回为:

{
  file:{/* ... */ }, //当前的文件对象
  fileList: [ /* ... */ ] ,//当前的文件列表
}

radioItems

自定义单选组合,格式为:

[
  { key:'picture-card',value:'网格' },
  { key:'text',value:'列表' },
  { key:'picture',value:'图片列表' },
]
3.1.25

2 years ago

3.1.27

2 years ago

3.1.26

2 years ago

3.1.24

2 years ago

3.1.12

2 years ago

3.1.11

2 years ago

3.1.14

2 years ago

3.1.13

2 years ago

3.1.16

2 years ago

3.1.15

2 years ago

3.1.18

2 years ago

3.1.17

2 years ago

3.1.23

2 years ago

3.1.22

2 years ago

3.1.21

2 years ago

3.1.20

2 years ago

3.1.19

2 years ago

3.1.10

3 years ago

3.1.9

3 years ago

3.1.8

3 years ago

3.0.0

3 years ago

3.1.3

3 years ago

3.1.2

3 years ago

3.1.1

3 years ago

3.1.7

3 years ago

3.1.6

3 years ago

3.1.5

3 years ago

3.1.4

3 years ago

2.4.1

3 years ago

2.4.3

3 years ago

2.4.2

3 years ago

2.4.0

3 years ago

3.1.0

3 years ago

2.2.28

3 years ago

2.2.29

3 years ago

2.2.26

3 years ago

2.2.27

3 years ago

2.2.25

3 years ago

2.2.31

3 years ago

2.2.32

3 years ago

2.2.30

3 years ago

2.2.24

3 years ago

2.2.22

3 years ago

2.2.23

3 years ago

2.2.20

3 years ago

2.2.21

3 years ago

2.2.19

3 years ago

2.2.18

3 years ago

2.2.17

3 years ago

2.2.15

3 years ago

2.2.16

3 years ago

2.2.14

3 years ago

2.2.13

3 years ago

2.2.12

3 years ago

2.2.11

4 years ago

2.2.10

4 years ago

2.2.9

4 years ago

2.2.8

4 years ago

2.2.7

4 years ago

2.2.6

4 years ago

2.2.5

4 years ago

2.2.3

4 years ago

2.2.4

4 years ago

2.2.2

4 years ago

2.2.1

4 years ago

2.2.0

4 years ago

2.1.10

4 years ago

2.1.11

4 years ago

2.1.8

4 years ago

2.1.7

4 years ago

2.1.6

4 years ago

2.1.5

4 years ago

2.1.4

4 years ago

2.1.3

4 years ago

2.1.2

4 years ago

2.1.1

4 years ago

2.1.0

4 years ago

2.0.14

4 years ago

2.0.13

4 years ago

2.0.11

4 years ago

2.0.12

4 years ago

2.0.10

4 years ago

2.0.9

4 years ago

2.0.8

4 years ago

2.0.7

4 years ago

2.0.3

4 years ago

2.0.5

4 years ago

2.0.4

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.2

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.0.10

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago