大文件上传到七牛云

php 获取上传到七牛云的上传token值

HTML页面内容:

<script>

    uploader = Qiniu.uploader({
        runtimes: 'html5,flash,html4',
        browse_button: 'pickfiles',//上传按钮的ID, 注意这里的ID前面没有#号,
        container: 'btn-uploader',//上传按钮的上级元素ID
        drop_element: 'btn-uploader',
        max_file_size: '1000mb',//最大文件限制
        flash_swf_url: 'js/Moxie.swf',
        dragdrop: false,
        chunk_size: '4mb',//分块大小
        uptoken_url: 'index.php',//设置请求qiniu-token的url, 这里是上面的PHP代码文件
        //Ajax请求upToken的Url,**强烈建议设置**(服务端提供)
        // uptoken : '<Your upload token>',
        //若未指定uptoken_url,则必须指定 uptoken ,uptoken由其他程序生成
        uptoken_func:function(file) {
            var token = '';
            $.ajax({
                url: 'index.php',//这里是上面的PHP代码文件
                type: 'GET',
                async: false,//这里应设置为同步的方式
                success: function(data) {
                    token = data.uptoken
                }
            });
            console.log(token)
            return token;
        },
        // unique_names: true,
        // 默认 false,key为文件名。若开启该选项,SDK会为每个文件自动生成key(文件名)
        // save_key: true,
        // 默认 false。若在服务端生成uptoken的上传策略中指定了 `sava_key`,则开启,SDK在前端将不对key进行任何处理
        domain: 'http://ydtvideo1080.ydtkt.com/',//自己的七牛云存储空间域名
        multi_selection: false,//是否允许同时选择多文件
        //文件类型过滤,这里限制为图片类型
        filters: {
            mime_types : [
                {
                    title: "Image files", extensions: "jpg,jpeg,gif,png",
                    title: "Video files", extensions: "flv,mpg,mpeg,avi,wmv,mov,asf,rm,rmvb,mkv,m4v,mp4"
                }
            ]
        },
        auto_start: true,
        init: {
            'FilesAdded': function(up, files) {
                console.log('filesadded')
                //do something
            },
            'BeforeUpload': function(up, file) {
                console.log('BeforeUpload')
                //do something
            },
            'UploadProgress': function(up, file) {

                console.log('UploadProgress')
                console.log(file.lengthComputable);
                console.log("--------------------")

                console.log(file)

                console.log("--------------------")
                //可以在这里控制上传进度的显示
                //可参考七牛的例子
            },
            'UploadComplete': function() {
                console.log('UploadComplete')
                //do something
            },
            'FileUploaded': function(up, file, info) {
                console.log('FileUploaded')
                //每个文件上传成功后,处理相关的事情
                //其中 info 是文件上传成功后,服务端返回的json,形式如
                //{
                //  "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",
                //  "key": "gogopher.jpg"
                //}
                console.log(file);

                var domain = up.getOption('domain');
                console.log(domain);

                console.log(info);
                //    var res = eval("(" + info + ")");
                var res = JSON.parse(info.response);
                
                var sourceLink = domain + res.key;//获取上传文件的链接地址
                console.log(sourceLink);
                //do something
            },
            'Error': function(up, err, errTip) {
                
            },
            'Key': function(up, file) {
                console.log('key')
                //当save_key和unique_names设为false时,该方法将被调用
                var key = "";

                key = file.name;
                // $.ajax({
                //     url: '/qiniu-token/get-key/',
                //     type: 'GET',
                //     async: false,//这里应设置为同步的方式
                //     success: function(data) {
                //         var ext = Qiniu.getFileExtension(file.name);
                //         key = data + '.' + ext;
                //     },
                //     cache: false
                // });
                return key;
            }
        }
    })
  </script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值