百度webupload--上传图片功能---插件使用

必须引入js和css,还有webupload的文件

html部分:

 <div id="uploader-demo">
            <!--用来存放item-->
            <div id="fileList" class="uploader-list"></div>
            <div id="filePicker">选择图片</div>
          </div>

完整js代码:

<script>
    $list = $("#fileList");
    ratio = window.devicePixelRatio || 1,

        thumbnailWidth = 100 * ratio,
        thumbnailHeight = 100 * ratio,

        // Web Uploader瀹炰緥
        uploader;
    // 初始化Web Uploader
    var host=window.location.host;
    var uploader = WebUploader.create({

        // 选完文件后,是否自动上传。
        auto: true,

        // swf文件路径
        swf: host+'/static/webupload/Uploader.swf',

        // 文件接收服务端。
        server: "{:url('admin/adv/upload')}",

        // 选择文件的按钮。可选。
        // 内部根据当前运行是创建,可能是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>'
            ),
            $img = $li.find('img');


        // $list为容器jQuery实例
        $list.append( $li );

        // 创建缩略图
        // 如果为非图片文件,可以不用调用此方法。
        // thumbnailWidth x thumbnailHeight 为 100 x 100
        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, response) {
	//添加回调,
        if(response.status == 1) {
            $('#'+file.id).append('<input type="hidden" name="image" value="'+response.data+'"/>');
        }
        $( '#'+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>

转载于:https://my.oschina.net/gracebear/blog/2986682

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Webupload是一款强大的文件上传插件,它可以实现各种文件类型的上传功能。完美版指的是该插件具备了所有需要的功能,并且可以直接拿来使用,无需进行任何修改。 Webupload的完美版具有以下特点和优势: 1. 多文件上传:该插件可以同时上传多个文件,用户可以一次性选择多个文件进行上传,大大提高了上传效率。 2. 断点续传:如果上传过程中出现网络中断或其他异常情况,Webupload可以自动恢复上传进度,避免重新上传已上传的部分,节省用户的时间和流量。 3. 文件预览:在选择文件后,Webupload可以提供文件预览功能,方便用户确认选择的文件是否正确。 4. 上传进度显示:插件会实时显示文件上传的进度,让用户清楚了解上传的状态,避免长时间等待和不确定性。 5. 上传验证:Webupload可以对上传文件进行验证,确保只接受合法的文件格式和大小,保护服务器资源和数据安全。 6. 并发控制:插件可以控制并发上传的数量,有效解决服务器和网络的负载压力,保障上传的稳定性。 7. 兼容性强:Webupload兼容各种浏览器和操作系统,无论是在PC端还是移动端,都可以正常运行。 通过使用Webupload的完美版,用户可以轻松实现文件上传功能,无需进行繁琐的编码和配置工作。这大大节省了开发时间和精力,帮助开发人员更快速地搭建网站或应用。同时,Webupload的完美版还可以通过自定义配置,满足特定需求,具备灵活性和可扩展性。总之,Webupload的完美版是一款功能全面、稳定可靠的文件上传插件使用简单方便,适用于各种Web开发项目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值