0.0.2 • Published 9 months ago

@iclae0/big-file-upload v0.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

big-file-upload

NPM version NPM downloads

Install

$ npm install @iclae0/big-file-upload

Use

最小可使用配置

Minimum Usable Configuration

import { BigFileUpload } from 'big-file-upload'

const bigFileUpload = new BigFileUpload(targetBigFile, {
  chunkUploadUrl: 'chunkUploadUrl',
  createChunkUploadParam: [
    ['reqParamChunkHash', 'chunkHash'],
    ['reqParamChunkSize', 'chunkSize'],
    ['reqParamTotal', 'totalCount'],
    ['reqParamFileHash', 'fileHash'],
    ['reqParamFileSize', 'fileSize'],
    ['reqParamFileName', 'fileName'],
    ['reqParamBinary', 'chunk']
  ],
  queryFileUploadStatusUrl: 'queryFileUploadStatusUrl',
  queryFileUploadStatusChunkHashKey: 'chunkHash',
  completeUrl: 'completeUrl',
  createCompleteParam: [
    ['fileHash', 'fileHash'],
    ['fileSize', 'fileSize'],
    ['fileName', 'fileName'],
    ['sliceCount', 'totalCount']
  ],
  chunkThreshold: 200,
  chunkSize: 20,
  onProgress(percent) {
  },
  onSuccess({ filePath, fileHash }) {
  },
  onError() {
  }
 });
bigFileUpload.upload();
// bigFileUpload.cancelUpload()

Options

chunkUploadUrl

分片上传url

chunkUploadSuccessCode

分片上传请求成功码 默认 200

chunkThreshold

分片阈值 单位 M 大于这个值才会上传

chunkSize

分片大小 M

queryFileUploadStatusUrl

查询已上传文件的状态,已经上传了多少分片 根据已经上传的 chunkHash 来断点续传

queryFileUploadStatusChunkHashKey

查询已上传文件请求返回的 key来取值,例如返回的数据是这样的 {chunkHash: '1', name:'xx'}, {chunkHash: '2', name: 'yy'} queryFileUploadStatusChunkHashKey 就填 chunkHash,默认为 chunkHash,如果数据符合要求可不填

queryFileUploadStatusSuccessCode

查询已上传文件请求成功码 默认 200

queryFileUploadStatusDataField

查询已上传文件请求取哪个字段 eg: {code:200, data:{uploaded: []}} 可填uploaded 默认没有直接取 data 值,所以 data 最好是array

completeUrl

合并文件请求 url

completeMethod

合并请求 method 'GET' | 'POST'

completeBodyType

合并请求 method为POST 时,请求的方式 'formData' | 'json'

completeSuccessCode

合并请求成功码 默认 200

completeDataField

合并请求取值字段 默认filePath eg: {code: 200, data:{filePath: 'xxxx'}}

uploadData

外部参数 配置后可在createChunkUploadParam和createCompleteParam中使用

createChunkUploadParam

分片上传参数, array 的第一个参数自己取, 第二个是固定的, 如果需要使用外部参数, 可在配置中增加 uploadData:{foo:1} 然后在这里增加一个'reqFoo', 'foo'

可用默认参数

  • fileHash: 文件 hash
  • fileName: 文件名
  • fileSize: 文件大小
  • totalCount: 总分片数
  • chunkSize: 分片大小
  • chunk: 分片文件
  • chunkIndex: 分片索引
  • chunkHash: 分片 hash

createCompleteParam

同createChunkUploadParam

可用默认参数

  • fileHash: 文件 hash
  • fileName: 文件名
  • fileSize: 文件大小
  • totalCount: 总分片数

onSpliting

开始分片回调

onSplitEnd

分片结束,可拿到 fileHash, (fileHash:string) => void;

onProgress

可拿到进度 分片上传完毕是 99 合并文件成功后是 100

onComplete

合并文件成功

onSuccess

上传成功 (fileUrl: string) => void;

onCancel

取消

onError

错误

LICENSE

MIT

0.0.2

9 months ago

0.0.1

9 months ago