1.2.5 • Published 3 years ago

multipart_upload v1.2.5

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

SimpleOSS

该包旨在简化OSS上传使用流程

说明

SimpleOSS是构造函数,使用前需要先进行实例化。

该包已发布到公司私有镜像,npmjs留存一份。

该包使用alicdn动态引入ali-oss依赖,极大程度上减小webpack打包体积及打包时间。

一、实例化

参数类型描述默认值
userIdstring租户 ID
partSizestring分片大小1 (单位 MB)
progressFunction进度回调(response: object) => void
onPreviewFunction预览图回调(src: string) => void
import { SimpleOSS } from "multipart_upload";
const oss = new SimpleOSS({
  userId: ".........",
  partSize: 1,
  progress: (percentage) => {
    console.log(`当前进度: ${percentage}%`);
  },
  onPreview: (imgSrc) => {
    console.log(`当前预览图地址: ${imgSrc}`);
  },
});

二、上传调用

参数类型描述
fileFile文件对象
optionsObject配置对象

options

参数类型可选值描述默认值
tokenValueObjectOSS 配置(必传)
validationFunction | boolean文件校验方法,或者使用组件内部的校验方法(非必填)true
sizeMapObject文件大小校验规则 validation 为 true 时, 必传
acceptStringimage/* | video/* | audio/* | vector/*接受的文件类型 (非必传) (不传代表直接放弃类型校验)''
fileNameString上传文件名 (非必传)(用于覆盖或自定义上传名)
responsePathStringabsolute | relative响应路径 (非必传)absolute

validation传递false时, sizeMap和accept都不需要传

tokenValue

参数类型描述
accessKeyIdstringOSS 账号
accessKeySecretstringOSS 临时密码
securityTokenstringOSS 临时 Token
regionstringOSS 区域
bucketstringOSS 桶
dirstringOSS 路径

sizeMap

参数类型描述
maxValuenumber文件最大值(体积)
minValuenumber文件最小值(体积)
minPixelnumber文件最小值(分辨率)
// 例如:
oss.upload({
  file: files,
  options: {
    tokenValue: {
      accessKeyId: "STS.NTWXHx9Ua7X19KYTLUBNNP5ca",
      securityToken: "CAIS/QF1q6Ft5B2yfSjI.....",
      bucket: "test-dam-feiyuantu",
      accessKeySecret: "4mDSxN5Uefq1QrKG6WMPkAm5JPbyi7sW5BeNDv9hxZnU",
      region: "oss-cn-beijing",
      expireTime: "2020-10-23T08:27:21Z",
      dir: "vdam-php/others/111129/",
    },
    validation: true,
    sizeMap: {
      minValue: 0, // MB
      maxValue: 2, // MB
      minPixel: 2000, // px
    },
    accept: "image/*",
  },
});
// 使用自定义校验方法

// 校验成功 code: 1, 校验失败 code: 0 -- 固定格式!!!!!
const customValidator = (file) => {
  const { name } = file;
  if (name.length > 5)
    return { code: 0, message: `自定义校验方法: 文件名长度 ${name.length}` };
  return {
    code: 1,
    message: `自定义校验方法: 文件名长度 ${name.length}`,
    src: "...",
  };
};

oss.upload({
  file: files,
  options: {
    tokenValue: {
      accessKeyId: "...",
      securityToken: "...",
      bucket: "...",
      accessKeySecret: "...",
      region: "...",
      expireTime: "...",
      dir: "...",
    },
    validation: customValidator,
  },
});

三、暂停、取消调用

oss.cancel();

四、续传调用

oss.multipartUpload();

生成校验规则

该方法旨在简化生成文件 大小,分辨率 校验规则流程

import { verificationRules } from "multipar_upload";

const { store } = context;
const {
  runtime: { customerInfo },
} = store();
const { config } = customerInfo || {};

const sizeMap = verificationRules(config, file);
console.log(sizeMap);
// 此时的sizeMap可用于 SimpleOSS 校验规则中
1.2.5

3 years ago

1.2.0

3 years ago

1.1.8

3 years ago

1.1.6

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.0.1

4 years ago