oss-upload.js
v1.1.7
Published
The browser directly uploads files to oss
Maintainers
Readme
oss-upload.js
浏览器端直传aliyun oss
安装
npm i oss-upload.js -S使用
import ossUpload from 'oss-upload.js';
ossUpload( { license,folder,fileObj,fileName,fileExtension } ).subscribe(res =>{});参数:
ossConfig: 阿里云配置项参考 document.
aimFolder: 位于oss上的目标文件夹,用于放置上传的文件.
fileObj: 需要上传的File对象或Blob对象
fileName: 文件名,非必填项,如果不填,则会计算文件的MD5值作为文件名
fileExtension: 文件拓展名,非必填项,如果不填,则会计算文件mimetype作为拓展名
返回:
ossUpload() 会返回status 和 data组成的对象.
返回示例:
{status:200,data:'htto://***.jpg'}{status:300,data:1.234}// 如果文件大小大于20mb,则会在上传时返回300状态,同时data返回当前上传的百分比.{status:400,data:''}
SDK 上传方法:
当文件大小大于20mb时,使用 put()进行上传,否则会使用multipartUpload()进行分片上传.
完整例子
import ossUpload from 'oss-upload.js';
document.querySelector("#uploader").addEventListener("change", file => {
const uploadObservable = ossUpload(
{
license:{
region: "oss-cn-hangzhou",
accessKeyId: "yourAccessKeyId",
accessKeySecret: "yourAccessKeySecret",
bucket: "yourBucket"
}
folder:"upload",
fileObj:file.target.files[0]
}
).subscribe(res =>{
switch(res.status){
case 200:
// upload successed
uploadObservable.unsubscribe();
break;
case 300:
// uploading
break;
case 400:
// upload failed
break;
}
});
});