阿里云 oss (图片、视频上传)

示例:

  1. 前端封装方法并调用,直接上传至阿里云
    此方法需要在阿里云拥有账号,并配置好才可使用,配置就不贴出了,只贴出前端代码。
/**
*
* 阿里云 oss (图片、视频上传) 插件
*
* @param opts 参数详情
* opts = {
*  timeout:"请求过期时间(配置项 timeout, 默认 60000)",
*  partSize:"分片大小(配置项 partSize, 默认 1048576)",
*  parallel:"上传分片数(配置项 parallel, 默认 5)",
*  retryCount:"网络失败重试次数(配置项 retryCount, 默认 3)",
*  retryDuration:"网络失败重试间隔(配置项 retryDuration, 默认 2)",
*  region:"配置项 region, 默认 cn-shanghai",
*  userId:"阿里云账号ID,默认1111",
*  stsUrl:"获取stsToken的地址",
*  videoInfoUrl:"获取视频信息的地址",
*  cateId:“视频分类id”,
*
*  addFileSuccess:"添加文件成功回调",
*  onUploadstarted:"开始上传的回调",
*  onUploadSucceed:"成功上传的回调",
*  onUploadFailed:"上传失败的回调",
*  onUploadCanceled:"取消上传的回调",
*  onUploadProgress:"上传过程回调",
*  onUploadEnd:""上传完成回调
* }
 */
jQuery.fn.extend({
    aliyunUploader: function (opts,callback) {
        var stsUrl = opts.stsUrl;
        var videoInfoUrl = opts.videoInfoUrl;
        if(!stsUrl){
                stsUrl = 'https://xx.xxxx.com/upload/oss/createSecurityToken';
        }
        if(!videoInfoUrl){
                videoInfoUrl = 'https://xx.xxxx.com/upload/oss/getVideoInfo';
        }

        const _this = this;

        var dtd = $.Deferred();

        var wait = function(dtd){
            // 获取页面所有的script标签
            var scripts = document.getElementsByTagName("script");

            // 匹配当前js路径
            var url;
            for (var i = 0;i < scripts.length; i++){
                url = scripts[i].src;
                if(url.indexOf("aliyunUpload.js") != -1) break;
            }
            var path = url.replace('aliyunUpload.js','');

            var urls = [
                path + "lib/aliyun-upload-sdk/aliyun-upload-sdk-1.5.0.min.js",
                path + "lib/aliyun-upload-sdk/lib/es6-promise.min.js",
                path + "lib/aliyun-upload-sdk/lib/aliyun-oss-sdk-5.3.1.min.js"
            ];
            var sta = 0;
            // 加载js
            var loadScript = function () {
                $.getScript(urls[sta],function(data, textStatus, jqxhr){
                    sta += textStatus == 'success'?1:0;
                    if(sta == 3){
                        console.log("JS success!");
                        dtd.resolve();
                    }else {
                        loadScript();
                    }
                });
            };
            loadScript();

            return dtd;
        };

        $.when(wait(dtd)).done(function(){
            var uploader = new AliyunUpload.Vod({
                timeout: opts.timeout || 60000,
                partSize: opts.partSize || 1048576,
                parallel: opts.parallel || 5,
                retryCount: opts.retryCount || 3,
                retryDuration: opts.retryDuration || 2,
                region: opts.region 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值