@class_liangmu/oss-upload
v1.0.1
Published
[官方文档](https://help.aliyun.com/document_detail/383952.html)
Downloads
2
Readme
oss文件上传
正常使用封装后的upload或uploadPromise方法即可
注意事项
1.meta中的数据会被放到请求头中 需要对参数进行encodeURIComponent编码
初始化
const uOSS = new UOSS({
// 必传 刷新token方法 支持promise callback
// callback
// refreshSTSToken: (done) => {
// axios.get('http://192.168.22.242:8003/tools/test/osstoken/')
// .then(res => {
// done({
// accessKeyId: res.data.token.AccessKeyId,
// accessKeySecret: res.data.token.AccessKeySecret,
// stsToken: res.data.token.SecurityToken,
// Expirationres: res.data.token.Expiration
// })
// })
// },
// promise
refreshSTSToken: async () => {
const res = await axios.get('http://192.168.22.242:8003/tools/test/osstoken/')
return {
accessKeyId: res.data.token.AccessKeyId,
accessKeySecret: res.data.token.AccessKeySecret,
stsToken: res.data.token.SecurityToken,
Expirationres: res.data.token.Expiration
}
},
// 文件上传前缀
// 非必传 默认 test/
prefix: 'bms/',
// 非必传 默认 oss-cn-shanghai
region: 'oss-cn-shanghai',
// 非必传 默认 ops-bms-prod-10001-oss
bucket: 'ops-bms-prod-10001-oss'
})
使用
- simpleUpload 普通上传
- multipartUpload 分片上传
- signatureUrl 生成url
- delete 删除文件
- deleteMulti 批量删除
- list 获取文件列表
以上方法在原方法中进行了包装 支持prommise callback 最后一个参数为callback callback 第一个参数为error 第二个参数为reuslt
// 例 获取文件列表
uOSS.list((err, result) => {
console.log(result)
})
- abortMultipartUpload 中断分片上传
- stop 暂停上传
以上为同步方法
- download 下载
第一个参数为objectname 第二个为下载后的文件名
uOSS.download('bms/yuan-test-1.gif', 'test.html')
- upload 封装后的文件上传
// Array<File | IFileInfoOption>
// 支持blob[] 或者 { file: blob, config: {} }
uploadInstance = uOSS.upload(e.target.files)
// 上传进度 多次执行
.on('process', (fileInfo) => {
console.log('html-process', fileInfo)
})
// 上传成功 根据文件数量 多次执行
.on('success', (fileInfo) => {
console.log('html-success', fileInfo)
})
// 上传失败 根据文件数量 多次执行
.on('fail', (err, fileInfo) => {
console.log('html-fail', err, fileInfo)
})
// 全部上传成功 执行一次
.on('successAll', (fileList) => {
console.log('html-successAll', fileList)
})
// 代码错误 执行一次
.on('error', (err) => {
console.log('html-error', err)
})
// 最终执行 执行一次 无论报错还是成功
.on('finally', (fileList) => {
console.log('html-finally', fileList)
})