upload_image.js 2.12 KB

window.activity={
    upload:function(opts){
        opts=$.extend({
            // 选完文件后,是否自动上传。
            auto: true,
            duplicate: true,
            disableGlobalDnd: true,
            name:"upfile",
            // swf文件路径
            swf:'/assets/js/webuploader/Uploader.swf',
            // 文件接收服务端。
            server: '',
            // 选择文件的按钮。可选。
            // 内部根据当前运行是创建,可能是input元素,也可能是flash.
            pick: '#filePicker',
            // 只允许选择图片文件。
            accept: {
                title: 'Images',
                extensions: 'jpg,jpeg,png',
                mimeTypes: 'image/*'
            },
            progressOpts:null
        },opts);
        var progress;
        if(opts.progressOpts){
            progress=dili.ui.pg('upload',opts.progressOpts);
        }
        opts.server=opts.url||opts.server;
        // 初始化Web Uploader
        var uploader = WebUploader.create(opts);
        // 文件上传失败,显示上传出错。
        uploader.on( 'startUpload', function( file ) {
            progress&&progress.start();
            window.status = "开始上传";
        });
        uploader.on( 'beforeFileQueued', function( file ) {
        });
        uploader.on( 'uploadError', function( file ) {
            alert('上传失败');
            progress&&progress.stop();
        });
        // 完成上传完了,成功或者失败,先删除进度条。
        uploader.on( 'uploadComplete', function( file,res,status ) {
            progress&&progress.stop();
        });
        uploader.on( 'uploadProgress', function(file, percentage) {
            window.status = "上传"+percentage;
        });
        // 文件上传成功,给item添加成功class, 用样式标记上传成功。
        uploader.on( 'uploadSuccess', function(file,res) {
            if(res.success){
                opts.done&&opts.done(res);
            }else{
                alert(res.msg);
            }
            progress&&progress.stop();
        });
        return uploader;
    }
}