zoukankan      html  css  js  c++  java
  • 七牛云上传图片

    引入:

    <script src="__PUBLIC__/plugins/qiniu/plupload/plupload.full.min.js"></script>
    <script src="__PUBLIC__/plugins/qiniu/qiniu.js"></script>
    <script src="__PUBLIC__/plugins/qiniu/newUi.js"></script>
    html页面:
    <tr>
    <th valign="top">图片信息:</th>
    <td><a href="javascript:;" class="filePicker" id="filePicker2">上传图片</a><b>最多可上传6张图片,每张图片大小不超过5M,支持gif,jpg,png,jpeg格式文件</b>
    <div id='picBox2'></div>
    </td>
    </tr>
    使用:
    var progress={};
    var uploader = Qiniu.uploader({
    runtimes: 'html5,flash,html4', //上传模式,依次退化
    browse_button: 'filePicker2', //上传选择的点选按钮,**必需**
    uptoken_url: asd, //Ajax请求upToken的Url,**强烈建议设置**(服务端提供)
    unique_names: true, // 默认 false,key为文件名。若开启该选项,SDK为自动生成上传成功后的key(文件名)。
    domain: 'image.fengwang.com', //bucket 域名,下载资源时用到,**必需**
    get_new_uptoken: false, //设置上传文件的时候是否每次都重新获取新的token
    container: 'picBox2', //上传区域DOM ID,默认是browser_button的父元素,
    flash_swf_url: 'js/plupload/Moxie.swf', //引入flash,相对路径
    max_retries: 3, //上传失败最大重试次数
    dragdrop: true, //开启可拖曳上传
    drop_element: 'picBox2', //拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传
    chunk_size: '4mb', //分块上传时,每片的体积
    auto_start: true, //选择文件后自动上传,若关闭需要自己绑定事件触发上传
    multi_selection: true, //是否能多选
    filters : {
    max_file_size : '5mb', //最大文件体积限制
    prevent_duplicates: false, //防置重复
    mime_types: [
    {title : "Image files", extensions : "jpg,jpeg,png"}, //限定jpg,gif,png后缀上传
    ]
    },
    init: {
    'FilesAdded': function(up, files) {
    plupload.each(files, function(file){
    var nativeFile = file.getNative();
    var img = new Image();
    img.src = URL.createObjectURL(nativeFile);
    img.onload = function(){
    var width = img.naturalWidth;
    var height = img.naturalHeight;
    // if(width==840 && height==640){
    // uploader.start();
    // }else{
    // uploader.removeFile(file);
    // layer.msg("请上传840*640的图片");
    // $("#" + id).find(".progressContent").html("").show();
    // }
    }
    });
    },
    'BeforeUpload': function(up, file) {
    // 每个文件上传前,处理相关的事情
    chunk_size_num = 0;
    },
    'UploadProgress': function(up, file) {
    // 每个文件上传时,处理相关的事情
    var params = {
    "nameSwitch" : false,
    "sizeSwitch" : false,
    "cancelSwitch" : false,
    "statusSwitch" : false,
    "barSwitch" : true
    };
    var progress = new FileProgress(file, 'fsUploadProgress',params);
    var chunk_size = plupload.parseSize(this.getOption('chunk_size'));
    chunk_size_num ++;
    progress.setProgress(file.percent + "%", file.speed,chunk_size);
    },
    'FileUploaded': function(up, file, info) {
    var nativeFile = file.getNative();
    var img = new Image();
    var style = '100%';
    var matTop = 0;
    img.src = URL.createObjectURL(nativeFile);
    img.onload = function(){
    var width = img.naturalWidth;
    var height = img.naturalHeight;
    if(width<height){
    style = 'height:100%;';
    }else if(width==height){
    style = 'height:100%';
    }else{
    style = '100%';
    var bl = width/90;
    matTop = (90-height/bl)/2;
    if(matTop<0){
    matTop=0;
    }
    }
    var WH = width.toString()+"px,"+height.toString()+"px";
    progress.id=file.id;
    progress.size=file.size; //文件大小
    progress.name=file.name; //文件名
    progress.type=file.type; //文件类型
    console.log()
    progress.url="http://"+up.settings.domain+"/"+file.target_name; //文件路径
    var html = '';
    html += '<div class="l lst1106" style="overflow: hidden;position: relative; 90px;height: 90px;margin-left: 10px;border: solid 1px #ddd;text-align: center;">';
    html += '<span class="lst1106-SC" style="" data-name='+progress.id+' data-type='+progress.type+'></span>';
    html += '<img data-lst="'+WH+'" style="margin-top:'+matTop+'px;'+style+'" src="'+progress.url+'" alt=""/>';
    html += '</div>';
    if($('#picBox2').children('div').length==7){
    layer.msg('最多上传6张图片',{
    time:1000
    });
    }else{
    $('#picBox2').append(html);
    }
    }

    },
    'Error': function(up, err, rrTip) {
    var tipStr = rrTip + "请重新上传!";
    layer.msg(tipStr);
    },
    'UploadComplete': function() {
    //队列文件处理完毕后,处理相关的事情
    $('#success').show();
    },
    'Key': function(up, file) {
    // 若想在前端对每个文件的key进行个性化处理,可以配置该函数
    // 该配置必须要在 unique_names: false , save_key: false 时才生效
    var key = "";
    // do something with key here
    return key
    }
    }
    });
  • 相关阅读:
    安装lnmp 时如何修改数据库数据存储地址及默认访问地址
    ubuntu 设置root用户密码并实现root用户登录
    解决ubuntu 远程连接问题
    linux 搭建FTP服务器
    PHP 根据ip获取对应的实际地址
    如何发布自己的composer包
    使用composer安装composer包报Your requirements could not be resolved to an installable set of packages
    laravel 框架配置404等异常页面
    使用Xshell登录linux服务器报WARNING! The remote SSH server rejected X11 forwarding request
    IoTSharp 已支持国产松果时序数据库PinusDB
  • 原文地址:https://www.cnblogs.com/lst619247/p/8308838.html
Copyright © 2011-2022 走看看