阿里云 OSS JS前端直传 代码封装

OSS JS前端直传 封装: 

function upload(f,callback){
    var client = new OSS.Wrapper({
    region : 'oss-cn-beijing',
    accessKeyId : 'LTAIJDKAA9Bww5',
    accessKeySecret : 'd4Aw0BmtFa31yYGItEPZ9LpGFSAAAaz',
    bucket : 'hai-test'
});

    //文件格式限制
    var suffix = f.name.substr(f.name.lastIndexOf("."));
    console.info("suffix",suffix);
    //支持的文件格式
    var fileTypes = '视频格式:.mp4 .avi .rmvb ' +
        '图片格式: .jpg .jpeg .gif ';
    if(fileTypes.indexOf(suffix)==-1){
        alert("暂不支持该文件格式")
        return;
    }

    //文件大小限制
    if(f.size>100*1000*1000){
        alert("文件不得大于100M")
        return;
    }

    //进度显示 开
    console.log('上传中');
    console.log(f.name);
    var obj=Date.parse(new Date());  // 这里是生成文件名
    var storeAs = 'upload-file/'+"/"+obj+suffix;  //命名空间
    console.log(' => ' + storeAs);
    
    client.multipartUpload(storeAs, f).then(function (result) {
        console.log("上传成功",result);

        var url = result.res.requestUrls[0];
        console.log("上传地址",url);

        if (callback){
            //去除多余字符
            if (url&&url.indexOf("?")!=-1){
                alert("去除多余字符"+url.indexOf("?"))
                url = url.toString().substring(0,url.indexOf("?"));
            }
            callback(url);
        }
    }).catch(function (err) {
        console.error("上传失败",err);
        //进度显示 关
        alert('上传失败 !');
    });
}

 

用法:

var file = $('#file').files[0];

upload(file,function(url){
    alert('上传成功,url='+url)
});

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值