putObject
上传单个文件
使用说明
import { MOss } from "@yl/super-jssdk";
MOss.putObject(optional);
参数说明
| 参数 |
类型 |
必填 |
作用 |
| optional |
Object |
是 |
必选参数 |
optional
| 参数 |
类型 |
必填 |
作用 |
| data |
Object |
是 |
上传文件信息,请参照下方 data 参数说明 |
| start() |
Function |
否 |
上传开始回调用 |
| progress(object,done,total) |
Function |
否 |
上传进度回调, done:已上传的文件长度,total:文件总长度, object:接口传来的所有参数信息 |
| options |
Object |
否 |
可选参数,请参照下方 options 参数说明 |
| type |
string |
否 |
调用插件类型,可选:alioss、minio,默认alioss |
data 结构说明
| 字段名称 |
说明 |
其他 |
| endPoint |
Bucket 所在的 Region 域名 |
必选 |
| federationAuthUrl |
授权请求地址 |
可选;目前暂时只支持阿里 STS 授权,详情参考文档 |
| bucket |
bucket名称 |
必选 |
| objectKey |
上传到 bucket 的名称 |
必选;示例:folder/subfolder/file.xxx,最好带文件扩展名 |
| objectLocalPath |
文件本地路径 |
必选;必须为绝对路径;支持 file:// 前缀路径 |
options 结构说明
| 参数 |
类型 |
作用 |
| 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 对象, 接口传来的参数. error: 错误信息 (注意:error 为第一个参数,data 为第二个参数) |
代码示例
MOss.putObject({
data: {
endPoint: "http://oss-cn-hangzhou.aliyuncs.com",
federationAuthUrl: "",
bucket: "appcloud-prod",
objectKey: 'test/test.pdf',
objectLocalPath: cordova.file.cacheDirectory + "test.pdf",
},
options: {
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);
})