• 七牛上传图片视频demo


    /引入Plupload 、qiniu.js后

    varuploader = Qiniu.uploader({ runtimes:'html5,flash,html4',//上传模式,依次退化

    browse_button:'pickfiles',//上传选择的点选按钮,**必需**

    uptoken_url:'/token',//Ajax请求upToken的Url,**强烈建议设置**(服务端提供)// uptoken : '', //若未指定uptoken_url,则必须指定 uptoken ,uptoken由其他程序生成// unique_names: true, // 默认 false,key为文件名。若开启该选项,SDK为自动生成上传成功后的key(文件名)。// save_key: true, // 默认 false。若在服务端生成uptoken的上传策略中指定了 `sava_key`,则开启,SDK会忽略对key的处理

    domain: 'http://qiniu-plupload.qiniudn.com/', //bucket 域名,下载资源时用到,**必需**

    get_new_uptoken: false, //设置上传文件的时候是否每次都重新获取新的token

    container: 'container', //上传区域DOM ID,默认是browser_button的父元素,

    max_file_size: '100mb', //最大文件体积限制

    flash_swf_url: 'js/plupload/Moxie.swf', //引入flash,相对路径

    max_retries: 3, //上传失败最大重试次数

    dragdrop: true, //开启可拖曳上传

    multi_selection: false,// 设置一次只能选择一个文件

    drop_element: 'container', //拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传

    chunk_size: '4mb', //分块上传时,每片的体积

    auto_start: true, //选择文件后自动上传,若关闭需要自己绑定事件触发上传

    init: { 'FilesAdded': function(up, files) { plupload.each(files, function(file) { // 文件添加进队列后,处理相关的事情 }); },

    'BeforeUpload': function(up, file) { // 每个文件上传前,处理相关的事情 },

    'UploadProgress': function(up, file) { // 每个文件上传时,处理相关的事情 },

    'FileUploaded': function(up, file, info) { // 每个文件上传成功后,处理相关的事情// 其中 info 是文件上传成功后,服务端返回的json,形式如// {// "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",// "key": "gogopher.jpg"// }// 参考http://developer.qiniu.com/docs/v6/api/overview/up/response/simple-response.html// var domain = up.getOption('domain');// var res = parseJSON(info);// var sourceLink = domain + res.key; 获取上传成功后的文件的Url },

    'Error': function(up, err, errTip) { //上传出错时,处理相关的事情 },

    'UploadComplete': function() { //队列文件处理完毕后,处理相关的事情 },

    'Key': function(up, file) { // 若想在前端对每个文件的key进行个性化处理,可以配置该函数// 该配置必须要在 unique_names: false , save_key: false 时才生效var key = ""; // do something with key herereturn key } } }); // domain 为七牛空间(bucket)对应的域名,选择某个空间后,可通过"空间设置->基本设置->域名设置"查看获取// uploader 为一个plupload对象,继承了所有plupload的方法,参考http://plupload.com/docs

     

    demo:(进度条,图片宽高,文件大小KB)

    init: {

        'UploadProgress': function(up, file) {

            $("#percent").css("width",file.percent + "%")

        },

        'UploadComplete': function() {

            $("#percent").css("width",0 + '%');

        },

        'FileUploaded': function(up, file, info) {

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

            var res = JSON.parse(info);

            var sourceLink ='http://'+domain + '/'+res.key;   //如果后台已经拼接了‘http’这里就不用拼接了

            var imageInfo = Qiniu.imageInfo(res.key);//获取图片原始大小

            //imageInfo.format  图片格式   imageInfo.width  图片宽   imageInfo.height 图片高

            console.log(imageInfo);   //  Object {format: "png", 580, height: 446, colorModel: "rgba"}

     

            self.albumDetailModel.tempShowPicUrl = sourceLink;

            self.albumDetailModel.filesize = self.switchByteToM(file.size);

            self.scope.$apply();

        },

     

        'Error': function(up, err, errTip) {

            alert(errTip);

        }

    },

    filters : {

        max_file_size : '100mb',

        prevent_duplicates: true,  // 是否允许选取重复的文件,为true时表示不允许,为false时表示允许,默认为false

        // Specify what files to browse for

        mime_types: [

            {title : "Image files", extensions : "jpg,png,jpeg,bmp"} // 限定jpg,jpeg,png等后缀上传

        ]

    }

     

    //限制上传视频格式

    filters : {

        max_file_size : '100mb',

        prevent_duplicates: true,

        mime_types: [      {title : "flv files", extensions : "flv"}, //限定flv后缀上传格式上传

    {title : "Video files", extensions : "flv,mpg,mpeg,avi,wmv,mov,asf,rm,rmvb,mkv,m4v,mp4"}, //限定flv,mpg,mpeg,avi,wmv,mov,asf,rm,rmvb,mkv,m4v,mp4后缀格式上传

    {title : "Image files", extensions : "jpg,gif,png"}, //限定jpg,gif,png后缀上传

    {title : "Zip files", extensions : "zip"} //限定zip后缀上传

        ]

    }

     

    七牛上传视频获取缩略图(jpg不行就试试png)

    https://segmentfault.com/a/1190000000393455

     

    七牛geek博客:(七牛相关问题)

    http://blog.csdn.net/netdxy/article/details/50507161

  • 相关阅读:
    JS 循环遍历json
    客户端获取ip
    jquery 常用获取值得方法汇总
    C# MATLAB混合编程
    java设计模式之抽象工厂模式学习
    java设计模式之工厂模式学习
    java设计模式之装饰者模式学习
    本周任务
    模仿jquery的data
    js中random的应用
  • 原文地址:https://www.cnblogs.com/codebook/p/5909562.html
Copyright © 2020-2023  润新知