putObjects

上传多个文件

使用说明

import { MOss } from "@yl/super-jssdk";
MOss.putObjects(optional);

参数说明

参数 类型 必填 作用
optional Object 必选参数

optional

参数 类型 必填 作用
data Object 上传文件信息列表,一个或者多个,请参照下方 data 参数说明
start() Function 上传开始回调用
progress(object,done,total) Function 上传进度回调,每上传完一个调用。done:完成个数,total:总个数, object:完成的 object,对应 data 中对象。
options Object 可选参数,请参照下方 options 参数说明
type string 调用插件类型,可选:aliossminio,默认alioss

data 结构说明

字段名称 说明 其他
endPoint Bucket 所在的 Region 域名 必选
federationAuthUrl 授权请求地址 可选;目前暂时只支持阿里 STS 授权,详情参考文档
data-> bucket bucket 名称 必选
data-> objectKey 上传到 bucket 的名称 必选;示例:folder/subfolder/file.xxx,最好带文件扩展名
data-> objectLocalPath 文件本地路径 必选;必须为绝对路径;支持 file:// 前缀路径

options 结构说明

参数 类型 作用
mode int mode=0 遇到上传失败,不继续上传; mode=1:遇到上传失败,继续上传;默认 mode=0
httpHeaderFields json sts 请求头信息设置,1.2.3 版本开始生效
requestTimeout int 设置请求超时时间,单位秒,1.4.4 版本开始生效
stsParams json 由前端向阿里云发起 sts 请求后返回,格式{"accessKey":"","secretKey":"","token":"","expirationTimeInGMTFormat":""},当前端传入此参数,插件忽略 url 授权,关闭 sts 请求,直接使用这些参数。1.2.4 版本开始生效

返回说明

参数 类型 作用
resolve Function 上传完成回调
reject(error, data) Function 上传某个文件失败回调,data 为 JSON 对象, 示例: {"bucket":"xxx","objectKey":"xxx","objectLocalPath:"xxx","contentType":"xxx"},error: 错误信息;(注意:error 为第一个参数,data 为第二个参数)

代码示例

// 图片
MOss.putObjects({
data: {
endPoint: "http://oss-cn-hangzhou.aliyuncs.com",
federationAuthUrl: "",
data: [{
bucket: "appcloud-prod",
objectKey: 'test/1.jpg',
objectLocalPath: cordova.file.cacheDirectory + "1.jpg",
},
{
bucket: "appcloud-prod",
objectKey: 'test/2.jpg',
objectLocalPath: cordova.file.cacheDirectory + "2.jpg",
},
{
bucket: "appcloud-prod",
objectKey: 'test/3.jpg',
objectLocalPath: cordova.file.cacheDirectory + "3.jpg",
},
]
},
options: {
mode: 0,
httpHeaderFields: {},
stsParams: {
accessKey: "STS.NTGuQWkckptVAwnbhKxvk8rjQ",
secretKey: "BJW4TPkdXMfUAkXSs1n7ck1BnVoXacqFRhPP8jhwBQDj",
token: "CAIS7A...",
expirationTimeInGMTFormat: "2020-07-03T02:33:56Z"
}
},
start: function () {
console.log("start");
},
progress: function (data, done, total) {
console.log("progress", data, done, total);
},
}),then(()=>{
console.log('res');
}).catch((err, data)=>{
console.log('err', err, data);
})

results matching ""

    No results matching ""