阿里雲 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)
});

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章