• 七牛文件上传demo


    <!DOCTYPE html>
    <!-- saved from url=(0027)http://jssdk.demo.qiniu.io/ -->
    <html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>七牛云存储 - JavaScript SDK</title>
    <link href="http://jssdk.demo.qiniu.io/images/favicon.ico" rel="shortcut icon">
    <link rel="stylesheet" href="./bootstrap.css">
    <link rel="stylesheet" href="./main.css">
    <link rel="stylesheet" href="./highlight.css">

    <!--[if lt IE 9]>
    <script src="bower_components/respond/dest/respond.min.js"></script>
    <![endif]-->
    </head>
    <body>
    <nav class="navbar navbar-default navbar-fixed-top">
    <div class="container">
    <div class="navbar-header">
    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-6" aria-expanded="false">
    <span class="sr-only">Toggle navigation</span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    </button>
    <a class="navbar-brand" href="http://jssdk.demo.qiniu.io/#">七牛云存储 - JavaScript SDK</a>
    </div>
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-6">
    <ul class="nav navbar-nav">
    <li class="active"><a href="http://jssdk.demo.qiniu.io/#">上传示例</a></li>
    <li><a href="http://developer.qiniu.com/code/v6/sdk/javascript.html">SDK 文档</a></li>
    </ul>
    </div>
    </div>
    </nav>

    <div class="container" style="padding-top: 60px;">
    <ul class="nav nav-tabs" role="tablist">
    <li role="presentation" class="active">
    <a href="http://jssdk.demo.qiniu.io/#demo" id="demo-tab" role="tab" data-toggle="tab" aria-controls="demo" aria-expanded="true">示例</a>
    </li>
    <li role="presentation">
    <a href="http://jssdk.demo.qiniu.io/#code" id="code-tab" role="tab" data-toggle="tab" aria-controls="code">代码</a>
    </li>
    <!-- <li role="presentation">
    <a href="http://jssdk.demo.qiniu.io/#log" id="log-tab" role="tab" data-toggle="tab" aria-controls="log">日志</a>
    </li> -->
    </ul>
    <div class="tab-content">
    <div role="tabpanel" class="tab-pane fade in active" id="demo" aria-labelledby="demo-tab">

    <div class="row" style="margin-top: 20px;">
    <input type="hidden" id="domain" value="http://up-z2.qiniup.com">
    <input type="hidden" id="uptoken_url" value="http://test.weixin.com/uploadtoken.php">
    <ul class="tip col-md-12 text-mute">
    <li>
    <small>
    JavaScript SDK 基于 Plupload 开发,可以通过 Html5 或 Flash 等模式上传文件至七牛云存储。
    </small>
    </li>
    <li>
    <small>临时上传的空间不定时清空,请勿保存重要文件。</small>
    </li>
    <li>
    <small>Html5模式大于4M文件采用分块上传。</small>
    </li>
    <li>
    <small>上传图片可查看处理效果。</small>
    </li>
    <li>
    <small>本示例限制最大上传文件100M。</small>
    </li>
    </ul>
    <div class="col-md-12">
    <div id="container" style="position: relative;">
    <a class="btn btn-default btn-lg " id="pickfiles" href="http://jssdk.demo.qiniu.io/#" style="position: relative; z-index: 1;">
    <i class="glyphicon glyphicon-plus"></i>
    <span>选择文件</span>
    </a>
    <div id="html5_1aj3rtennnga1n5h927gjn8343_container" class="moxie-shim moxie-shim-html5" style="position: absolute; top: 0px; left: 0px; 171px; height: 46px; overflow: hidden; z-index: 0;"><input id="html5_1aj3rtennnga1n5h927gjn8343" type="file" style="font-size: 999px; opacity: 0; position: absolute; top: 0px; left: 0px; 100%; height: 100%;" multiple="" accept=""></div></div>
    </div>
    <div style="display:none" id="success" class="col-md-12">
    <div class="alert-success">
    队列全部文件处理完毕
    </div>
    </div>
    <div class="col-md-12 ">
    <table class="table table-striped table-hover text-left" style="margin-top:40px;display:none">
    <thead>
    <tr>
    <th class="col-md-4">Filename</th>
    <th class="col-md-2">Size</th>
    <th class="col-md-6">Detail</th>
    </tr>
    </thead>
    <tbody id="fsUploadProgress">
    </tbody>
    </table>
    </div>
    </div>

    </div>
    <input id = "url" type = "hidden" >
    <div role="tabpanel" class="tab-pane fade" id="code" aria-labelledby="code-tab">

    <div class="row" style="margin-top: 20px;">
    <div class="col-md-12">
    <pre><code class="javascript">
    <span class="comment">//引入Plupload 、qiniu.js后</span>
    <span class="keyword">var</span> uploader = Qiniu.uploader({
    runtimes: <span class="string">'html5,flash,html4'</span>, <span class="comment">//上传模式,依次退化</span>
    browse_button: <span class="string">'pickfiles'</span>, <span class="comment">//上传选择的点选按钮,**必需**</span>
    uptoken_url: <span class="string">'/token'</span>, <span class="comment">//Ajax请求upToken的Url,**强烈建议设置**(服务端提供)</span>
    <span class="comment">// uptoken : '<your upload="" token="">', //若未指定uptoken_url,则必须指定 uptoken ,uptoken由其他程序生成</your></span><your upload="" token="">
    <span class="comment">// unique_names: true, // 默认 false,key为文件名。若开启该选项,SDK为自动生成上传成功后的key(文件名)。</span>
    <span class="comment">// save_key: true, // 默认 false。若在服务端生成uptoken的上传策略中指定了 `sava_key`,则开启,SDK会忽略对key的处理</span>
    domain: <span class="string">'http://qiniu-plupload.qiniudn.com/'</span>, <span class="comment">//bucket 域名,下载资源时用到,**必需**</span>
    get_new_uptoken: <span class="literal">false</span>, <span class="comment">//设置上传文件的时候是否每次都重新获取新的token</span>
    container: <span class="string">'container'</span>, <span class="comment">//上传区域DOM ID,默认是browser_button的父元素,</span>
    max_file_size: <span class="string">'100mb'</span>, <span class="comment">//最大文件体积限制</span>
    flash_swf_url: <span class="string">'js/plupload/Moxie.swf'</span>, <span class="comment">//引入flash,相对路径</span>
    max_retries: <span class="number">3</span>, <span class="comment">//上传失败最大重试次数</span>
    dragdrop: <span class="literal">true</span>, <span class="comment">//开启可拖曳上传</span>
    drop_element: <span class="string">'container'</span>, <span class="comment">//拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传</span>
    chunk_size: <span class="string">'4mb'</span>, <span class="comment">//分块上传时,每片的体积</span>
    auto_start: <span class="literal">true</span>, <span class="comment">//选择文件后自动上传,若关闭需要自己绑定事件触发上传</span>
    init: {
    <span class="string">'FilesAdded'</span>: <span class="keyword">function</span>(up, files) {
    plupload.each(files, <span class="keyword">function</span>(file) {
    <span class="comment">// 文件添加进队列后,处理相关的事情</span>
    });
    },
    <span class="string">'BeforeUpload'</span>: <span class="keyword">function</span>(up, file) {
    <span class="comment">// 每个文件上传前,处理相关的事情</span>
    },
    <span class="string">'UploadProgress'</span>: <span class="keyword">function</span>(up, file) {
    <span class="comment">// 每个文件上传时,处理相关的事情</span>
    },
    <span class="string">'FileUploaded'</span>: <span class="keyword">function</span>(up, file, info) {
    <span class="comment">// 每个文件上传成功后,处理相关的事情</span>
    <span class="comment">// 其中 info 是文件上传成功后,服务端返回的json,形式如</span>
    <span class="comment">// {</span>
    <span class="comment">// "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",</span>
    <span class="comment">// "key": "gogopher.jpg"</span>
    <span class="comment">// }</span>
    <span class="comment">// 参考http://developer.qiniu.com/docs/v6/api/overview/up/response/simple-response.html</span>

    <span class="comment">// var domain = up.getOption('domain');</span>
    <span class="comment">// var res = parseJSON(info);</span>
    <span class="comment">// var sourceLink = domain + res.key; 获取上传成功后的文件的Url</span>
    },
    <span class="string">'Error'</span>: <span class="keyword">function</span>(up, err, errTip) {
    <span class="comment">//上传出错时,处理相关的事情</span>
    },
    <span class="string">'UploadComplete'</span>: <span class="keyword">function</span>() {
    <span class="comment">//队列文件处理完毕后,处理相关的事情</span>
    },
    <span class="string">'Key'</span>: <span class="keyword">function</span>(up, file) {
    <span class="comment">// 若想在前端对每个文件的key进行个性化处理,可以配置该函数</span>
    <span class="comment">// 该配置必须要在 unique_names: false , save_key: false 时才生效</span>

    <span class="keyword">var</span> key = <span class="string">""</span>;
    <span class="comment">// do something with key here</span>
    <span class="keyword">return</span> key
    }
    }
    });

    <span class="comment">// domain 为七牛空间(bucket)对应的域名,选择某个空间后,可通过"空间设置-&gt;基本设置-&gt;域名设置"查看获取</span>

    <span class="comment">// uploader 为一个plupload对象,继承了所有plupload的方法,参考http://plupload.com/docs</span>
    </your></code></pre>
    </div>
    </div>

    </div>
    <div role="tabpanel" class="tab-pane fade" id="log" aria-labelledby="log-tab">
    <pre id="qiniu-js-sdk-log"><p>[qiniu-js-sdk][debug] init uploader start</p><p>[qiniu-js-sdk][debug] environment: {"browser":"Chrome","version":50,"os":"Mac OS X","osVersion":"10.10.5","swf_url":"../flash/Moxie.swf","xap_url":"../silverlight/Moxie.xap","global_event_dispatcher":"moxie.core.EventTarget.instance.dispatchEvent","OS":"Mac OS X"}</p><p>[qiniu-js-sdk][debug] userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36</p><p>[qiniu-js-sdk][debug] invoke reset_chunk_size()</p><p>[qiniu-js-sdk][debug] op.chunk_size: 4mb</p><p>[qiniu-js-sdk][debug] option: {"runtimes":"html5,flash,html4","browse_button":"pickfiles","container":"container","drop_element":"container","max_file_size":"1000mb","flash_swf_url":"bower_components/plupload/js/Moxie.swf","dragdrop":true,"chunk_size":"4mb","multi_selection":true,"uptoken_url":"uptoken","domain":"http://7xocov.com2.z0.glb.qiniucdn.com/","get_new_uptoken":false,"auto_start":true,"log_level":5,"init":{},"url":"http://upload.qiniu.com","multipart_params":{"token":""}}</p><p>[qiniu-js-sdk][debug] new plupload.Uploader(option)</p><p>[qiniu-js-sdk][debug] bind Init event</p><p>[qiniu-js-sdk][debug] bind FilesAdded event</p><p>[qiniu-js-sdk][debug] bind BeforeUpload event</p><p>[qiniu-js-sdk][debug] bind UploadProgress event</p><p>[qiniu-js-sdk][debug] bind ChunkUploaded event</p><p>[qiniu-js-sdk][debug] bind Error event</p><p>[qiniu-js-sdk][debug] bind FileUploaded event</p><p>[qiniu-js-sdk][debug] invoke uploader.init()</p><p>[qiniu-js-sdk][debug] init uploader end</p><p>[qiniu-js-sdk][debug] Init event activated</p><p>[qiniu-js-sdk][debug] get uptoken from: uptoken</p><p>[qiniu-js-sdk][debug] get new uptoken: JOiPUijNB0t8vbNKIufpn5gDKmg0G-uFHBlrQoV2:fAZ9PIhVnJ4hLNvGRQClLf9Bppg=:eyJzY29wZSI6Impzc2RrIiwiZGVhZGxpbmUiOjE0NjM2NDM2NDZ9</p></pre>
    </div>
    </div>
    </div>

    <div class="container" style="display: none;">

    <div class="text-left col-md-12 wrapper">
    <h1 class="text-left col-md-12 ">
    七牛云存储 - JavaScript SDK
    <a class="btn btn-default view_code" id="show_code">
    查看初始化代码
    </a>
    <a class="btn btn-default view_github" href="https://github.com/qiniupd/qiniu-js-sdk" target="_blank">
    <img src="./GitHub-Mark-32px.png">
    View Source on Github
    </a>
    </h1>
    </div>
    <div class="body">
    <!-- <div class="col-md-12" id="qiniu-js-sdk-log"></div> -->
    </div>
    <div class="modal fade body" id="myModal-code" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
    <div class="modal-content">
    <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h4 class="modal-title" id="myModalLabel">查看初始化代码</h4>
    </div>
    <div class="modal-body">
    <pre><code class="javascript">
    <span class="comment">//引入Plupload 、qiniu.js后</span>
    <span class="keyword">var</span> uploader = Qiniu.uploader({
    runtimes: <span class="string">'html5,flash,html4'</span>, <span class="comment">//上传模式,依次退化</span>
    browse_button: <span class="string">'pickfiles'</span>, <span class="comment">//上传选择的点选按钮,**必需**</span>
    uptoken_url: <span class="string">'/token'</span>, <span class="comment">//Ajax请求upToken的Url,**强烈建议设置**(服务端提供)</span>
    <span class="comment">// uptoken : '<your upload="" token="">', //若未指定uptoken_url,则必须指定 uptoken ,uptoken由其他程序生成</your></span><your upload="" token="">
    <span class="comment">// unique_names: true, // 默认 false,key为文件名。若开启该选项,SDK为自动生成上传成功后的key(文件名)。</span>
    <span class="comment">// save_key: true, // 默认 false。若在服务端生成uptoken的上传策略中指定了 `sava_key`,则开启,SDK会忽略对key的处理</span>
    domain: <span class="string">'http://qiniu-plupload.qiniudn.com/'</span>, <span class="comment">//bucket 域名,下载资源时用到,**必需**</span>
    get_new_uptoken: <span class="literal">false</span>, <span class="comment">//设置上传文件的时候是否每次都重新获取新的token</span>
    container: <span class="string">'container'</span>, <span class="comment">//上传区域DOM ID,默认是browser_button的父元素,</span>
    max_file_size: <span class="string">'100mb'</span>, <span class="comment">//最大文件体积限制</span>
    flash_swf_url: <span class="string">'js/plupload/Moxie.swf'</span>, <span class="comment">//引入flash,相对路径</span>
    max_retries: <span class="number">3</span>, <span class="comment">//上传失败最大重试次数</span>
    dragdrop: <span class="literal">true</span>, <span class="comment">//开启可拖曳上传</span>
    drop_element: <span class="string">'container'</span>, <span class="comment">//拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传</span>
    chunk_size: <span class="string">'4mb'</span>, <span class="comment">//分块上传时,每片的体积</span>
    auto_start: <span class="literal">true</span>, <span class="comment">//选择文件后自动上传,若关闭需要自己绑定事件触发上传</span>
    init: {
    <span class="string">'FilesAdded'</span>: <span class="keyword">function</span>(up, files) {
    plupload.each(files, <span class="keyword">function</span>(file) {
    <span class="comment">// 文件添加进队列后,处理相关的事情</span>
    });
    },
    <span class="string">'BeforeUpload'</span>: <span class="keyword">function</span>(up, file) {
    <span class="comment">// 每个文件上传前,处理相关的事情</span>
    },
    <span class="string">'UploadProgress'</span>: <span class="keyword">function</span>(up, file) {
    <span class="comment">// 每个文件上传时,处理相关的事情</span>
    },
    <span class="string">'FileUploaded'</span>: <span class="keyword">function</span>(up, file, info) {
    <span class="comment">// 每个文件上传成功后,处理相关的事情</span>
    <span class="comment">// 其中 info 是文件上传成功后,服务端返回的json,形式如</span>
    <span class="comment">// {</span>
    <span class="comment">// "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",</span>
    <span class="comment">// "key": "gogopher.jpg"</span>
    <span class="comment">// }</span>
    <span class="comment">// 参考http://developer.qiniu.com/docs/v6/api/overview/up/response/simple-response.html</span>

    <span class="comment">// var domain = up.getOption('domain');</span>
    <span class="comment">// var res = parseJSON(info);</span>
    <span class="comment">// var sourceLink = domain + res.key; 获取上传成功后的文件的Url</span>
    },
    <span class="string">'Error'</span>: <span class="keyword">function</span>(up, err, errTip) {
    <span class="comment">//上传出错时,处理相关的事情</span>
    },
    <span class="string">'UploadComplete'</span>: <span class="keyword">function</span>() {
    <span class="comment">//队列文件处理完毕后,处理相关的事情</span>
    },
    <span class="string">'Key'</span>: <span class="keyword">function</span>(up, file) {
    <span class="comment">// 若想在前端对每个文件的key进行个性化处理,可以配置该函数</span>
    <span class="comment">// 该配置必须要在 unique_names: false , save_key: false 时才生效</span>

    <span class="keyword">var</span> key = <span class="string">""</span>;
    <span class="comment">// do something with key here</span>
    <span class="keyword">return</span> key
    }
    }
    });

    <span class="comment">// domain 为七牛空间(bucket)对应的域名,选择某个空间后,可通过"空间设置-&gt;基本设置-&gt;域名设置"查看获取</span>

    <span class="comment">// uploader 为一个plupload对象,继承了所有plupload的方法,参考http://plupload.com/docs</span>
    </your></code></pre>
    </div>
    <div class="modal-footer">
    <button type="button" class="btn btn-primary" data-dismiss="modal">关闭</button>
    </div>
    </div>
    </div>
    </div>
    <div class="modal fade body" id="myModal-img" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
    <div class="modal-content">
    <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h4 class="modal-title" id="myModalLabel">图片效果查看</h4>
    </div>
    <div class="modal-body">
    <div class="modal-body-wrapper text-center">
    <a href="http://jssdk.demo.qiniu.io/" target="_blank">
    <img src="http://jssdk.demo.qiniu.io/" alt="" data-key="" data-h="">
    </a>
    </div>
    <div class="modal-body-footer">
    <div class="watermark">
    <span>水印控制:</span>
    <a href="http://jssdk.demo.qiniu.io/#" data-watermark="NorthWest" class="btn btn-default">
    左上角
    </a>
    <a href="http://jssdk.demo.qiniu.io/#" data-watermark="SouthWest" class="btn btn-default">
    左下角
    </a>
    <a href="http://jssdk.demo.qiniu.io/#" data-watermark="NorthEast" class="btn btn-default">
    右上角
    </a>
    <a href="http://jssdk.demo.qiniu.io/#" data-watermark="SouthEast" class="btn btn-default disabled">
    右下角
    </a>
    <a href="http://jssdk.demo.qiniu.io/#" data-watermark="false" class="btn btn-default">
    无水印
    </a>
    </div>
    <div class="imageView2">
    <span>缩略控制:</span>
    <a href="http://jssdk.demo.qiniu.io/#" data-imageview="large" class="btn btn-default disabled">
    大缩略图
    </a>
    <a href="http://jssdk.demo.qiniu.io/#" data-imageview="middle" class="btn btn-default">
    中缩略图
    </a>
    <a href="http://jssdk.demo.qiniu.io/#" data-imageview="small" class="btn btn-default">
    小缩略图
    </a>
    </div>
    <div class="imageMogr2">
    <span>高级控制:</span>
    <a href="http://jssdk.demo.qiniu.io/#" data-imagemogr="left" class="btn btn-default no-disable-click">
    逆时针
    </a>
    <a href="http://jssdk.demo.qiniu.io/#" data-imagemogr="right" class="btn btn-default no-disable-click">
    顺时针
    </a>
    <a href="http://jssdk.demo.qiniu.io/#" data-imagemogr="no-rotate" class="btn btn-default">
    无旋转
    </a>
    </div>
    <div class="text-warning">
    备注:小图片水印效果不明显,建议使用大图片预览水印效果
    </div>
    </div>
    </div>
    <div class="modal-footer">
    <span class="pull-left">本示例仅演示了简单的图片处理效果,了解更多请点击</span>

    <a href="https://github.com/SunLn/qiniu-js-sdk" target="_blank" class="pull-left">本SDK文档</a>
    <span class="pull-left">或</span>

    <a href="http://developer.qiniu.com/docs/v6/api/reference/fop/image/" target="_blank" class="pull-left">七牛官方文档</a>

    <button type="button" class="btn btn-primary" data-dismiss="modal">关闭</button>
    </div>
    </div>
    </div>
    </div>
    </div>


    <script type="text/javascript" src="./jquery.min.js"></script>
    <script type="text/javascript" src="./bootstrap.min.js"></script>
    <script type="text/javascript" src="./moxie.js"></script>
    <script type="text/javascript" src="./plupload.dev.js"></script>
    <!-- <script type="text/javascript" src="bower_components/plupload/js/plupload.full.min.js"></script> -->
    <script type="text/javascript" src="./zh_CN.js"></script>
    <script type="text/javascript" src="./ui.js"></script>
    <script type="text/javascript" src="./qiniu.js"></script>
    <script type="text/javascript" src="./highlight.js"></script>
    <script type="text/javascript" src="./main.js"></script>
    <script type="text/javascript">hljs.initHighlightingOnLoad();</script>
    <script type="text/javascript">
    document.querySelector("#container").addEventListener("change", function(e) {
    console.log("do something with " + this.value);
    });
    var keys ;
    var uploader = Qiniu.uploader({
    runtimes: 'html5,html4', // 上传模式,依次退化
    browse_button: 'pickfiles', // 上传选择的点选按钮,**必需**
    container: 'container', //上传区域DOM ID,默认是browser_button的父元素,
    drop_element: 'container',
    // flash_swf_url: 'bower_components/plupload/js/Moxie.swf',
    dragdrop: true,
    chunk_size: '4mb',
    //unique_names: true,
    domain:"https://fs.bozhong.com/", //bucket 域名,下载资源时用到,**必需**
    // save_key: true,
    // uptoken_url: $('#uptoken_url').val(),
    // uptoken:"um6IEH7mtwnwkGpjImD08JdxlvViuELhI4mFfoeL:zPVaMyRvtEgsfbKKuIPpMobH6nc=:eyJzY29wZSI6ImphdmFkZW1vIiwiZGVhZGxpbmUiOjIzNjY1NjI3MjZ9Cg==",
    get_new_uptoken: true, //设置上传文件的时候是否每次都重新获取新的token
    multi_selection: !(mOxie.Env.OS.toLowerCase()==="ios"),


    filters : {
    max_file_size : '100mb',
    prevent_duplicates: true,
    //Specify what files to browse for
    mime_types: [
    // {title : "mp4 files", extensions : "mkv"}
    // {title : "flv files", extensions : "flv,jpg"}
    {title : "Video files", extensions : "flv,mpg,mpeg,avi,wmv,mov,asf,rm,rmvb,mkv,m4v,mp4"}
    // {title : "Video files", extensions : "avi,mp4,wmv,mpg,mov,flv,mkv,mpeg"}
    // {title : "Image files", extensions : "jpg,gif,png"}
    // {title : "Zip files", extensions : "zip"}
    ]
    },
    uptoken_func: function(){

    var ajax = new XMLHttpRequest();
    ajax.open('GET', $('#uptoken_url').val(), false);
    ajax.setRequestHeader("If-Modified-Since", "0");
    ajax.send();

    if (ajax.status === 200) {

    var res = JSON.parse(ajax.responseText);
    console.log('custom uptoken_func:' + res.token);
    keys = res.key;
    return res.token;
    } else {
    console.log('custom uptoken_func err');
    return '';
    }
    },

    // get_new_uptoken: true,
    // downtoken_url: '/downtoken',
    // unique_names: true,
    // save_key: true,
    // x_vars: {
    // 'id': '1234',
    // 'time': function(up, file) {
    // var time = (new Date()).getTime();
    // // do something with 'time'
    // return time;
    // },
    // },
    auto_start: true,
    log_level: 5,
    init: {
    'FilesAdded': function(up, files) {
    $('table').show();
    $('#success').hide();
    plupload.each(files, function(file) {
    var progress = new FileProgress(file, 'fsUploadProgress');
    progress.setStatus("等待...");
    progress.bindUploadCancel(up);
    });
    },
    'BeforeUpload': function(up, file) {
    // 每个文件上传前,处理相关的事情
    var progress = new FileProgress(file, 'fsUploadProgress');
    var chunk_size = plupload.parseSize(this.getOption('chunk_size'));
    if (up.runtime === 'html5' && chunk_size) {
    progress.setChunkProgess(chunk_size);
    }
    },
    'UploadProgress': function(up, file) {
    var progress = new FileProgress(file, 'fsUploadProgress');
    var chunk_size = plupload.parseSize(this.getOption('chunk_size'));
    progress.setProgress(file.percent + "%", file.speed, chunk_size);
    },
    'UploadComplete': function() {
    $('#success').show();
    },
    'FileUploaded': function(up, file, info) {
    // 每个文件上传成功后,处理相关的事情

    var progress = new FileProgress(file, 'fsUploadProgress');
    progress.setComplete(up, info);
    },
    'Error': function(up, err, errTip) {
    $('table').show();
    var progress = new FileProgress(err.file, 'fsUploadProgress');
    progress.setError();
    progress.setStatus(errTip);
    }
    ,
    'Key': function(up, file) {
    var key = keys;

    return key
    }
    }
    });

    uploader.bind('FileUploaded', function() {
    console.log('hello man,a file is uploaded');
    });
    </script>

    </body></html>

  • 相关阅读:
    .NET Core使用RabbitMQ
    微信openid和unionid区别
    .Net Core 中GC的工作原理
    .Net Core服务监控报警指标上报Prometheus+Grafana
    .Net Core基础的健康检查
    了解数据库的四种隔离级别
    IdentityServer使用ssl证书生成token
    IdentityServer客户端授权模式
    IdentityServer用户名密码模式
    IdentityServer4学习笔记汇总(实现传送门在底部)
  • 原文地址:https://www.cnblogs.com/weixinsb/p/12855805.html
Copyright © 2020-2023  润新知