123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <html lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
- <title>WebUploader演示 - 带裁剪功能 </title>
- <link rel="stylesheet" type="text/css" href="../../css/webuploader.css" />
- <link rel="stylesheet" type="text/css" href="./cropper.css" />
- <link rel="stylesheet" type="text/css" href="./style.css" />
- </head>
- <body>
- <div id="wrapper">
- <div class="uploader-container">
- <div id="filePicker">选择文件</div>
- </div>
- <!-- Croper container -->
- <div class="cropper-wraper webuploader-element-invisible">
- <div class="img-container">
- <img src="" alt="" />
- </div>
- <div class="upload-btn">上传所选区域</div>
- <div class="img-preview"></div>
- </div>
- </div>
- <script type="text/javascript" src="./jquery.js"></script>
- <script type="text/javascript" src="../../dist/webuploader.js"></script>
- <script type="text/javascript" src="./cropper.js"></script>
- <script type="text/javascript" src="./uploader.js"></script>
- <script>
-
-
- // 图片上传demo
- jQuery(function() {
- var $ = jQuery,
- $list = $('#fileList'),
- // 优化retina, 在retina下这个值是2
- ratio = window.devicePixelRatio || 1,
- // 缩略图大小
- thumbnailWidth = 100 * ratio,
- thumbnailHeight = 100 * ratio,
- // Web Uploader实例
- uploader;
- // 初始化Web Uploader
- uploader = WebUploader.create({
- // 自动上传。
- auto: true,
- // swf文件路径
- swf: BASE_URL + '/js/Uploader.swf',
- // 文件接收服务端。
- server: 'http://webuploader.duapp.com/server/fileupload.php',
- // 选择文件的按钮。可选。
- // 内部根据当前运行是创建,可能是input元素,也可能是flash.
- pick: '#filePicker',
- // 只允许选择文件,可选。
- accept: {
- title: 'Images',
- extensions: 'gif,jpg,jpeg,bmp,png',
- mimeTypes: 'image/*'
- }
- });
- // 当有文件添加进来的时候
- uploader.on( 'fileQueued', function( file ) {
- var $li = $(
- '<div id="' + file.id + '" class="file-item thumbnail">' +
- '<img>' +
- '<div class="info">' + file.name + '</div>' +
- '</div>'
- ),
- $img = $li.find('img');
- $list.append( $li );
- // 创建缩略图
- uploader.makeThumb( file, function( error, src ) {
- if ( error ) {
- $img.replaceWith('<span>不能预览</span>');
- return;
- }
- $img.attr( 'src', src );
- }, thumbnailWidth, thumbnailHeight );
- });
- // 文件上传过程中创建进度条实时显示。
- uploader.on( 'uploadProgress', function( file, percentage ) {
- var $li = $( '#'+file.id ),
- $percent = $li.find('.progress span');
- // 避免重复创建
- if ( !$percent.length ) {
- $percent = $('<p class="progress"><span></span></p>')
- .appendTo( $li )
- .find('span');
- }
- $percent.css( 'width', percentage * 100 + '%' );
- });
- // 文件上传成功,给item添加成功class, 用样式标记上传成功。
- uploader.on( 'uploadSuccess', function( file ) {
- $( '#'+file.id ).addClass('upload-state-done');
- });
- // 文件上传失败,现实上传出错。
- uploader.on( 'uploadError', function( file ) {
- var $li = $( '#'+file.id ),
- $error = $li.find('div.error');
- // 避免重复创建
- if ( !$error.length ) {
- $error = $('<div class="error"></div>').appendTo( $li );
- }
- $error.text('上传失败');
- });
- // 完成上传完了,成功或者失败,先删除进度条。
- uploader.on( 'uploadComplete', function( file ) {
- $( '#'+file.id ).find('.progress').remove();
- });
- });
- </script>
- </body>
- </html>
|