• WebUploader 上传图片回显


    /*
    fileMaxCount 最大文件数
    buttonText 按钮文本
    multiple 是否多选
    */
    (function ($) {
        $.fn.extend({
            uploadImg: function (opt) {
                var webUploader;
                //可行性判断
                if (!WebUploader.Uploader.support()) {
                    alert('Web Uploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器');
                    throw new Error('WebUploader does not support the browser you are using.');
                }
                if (typeof opt != "object") {
                    alert('参数错误!');
                    return;
                }
                (function (opt, $uploaderDiv) {
                    // 可能有pedding, ready, uploading, confirm, done.
                    var state = 'pedding',
                        // 添加的文件数量
                        fileCount = 0,
                        // 优化retina, 在retina下这个值是2
                        //ratio = window.devicePixelRatio || 1,
                        // 缩略图大小
                        thumbnailWidth = 700,
                        thumbnailHeight = 700,
                        // 判断浏览器是否支持图片的base64
                        isSupportBase64 = (function () {
                            var data = new Image();
                            var support = true;
                            data.onload = data.onerror = function () {
                                if (this.width != 1 || this.height != 1) {
                                    support = false;
                                }
                            }
                            data.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";
                            return support;
                        })(),
    
                        // $uploaderDiv = $(this),
                        $uploaderDivId = $uploaderDiv.attr('id'),
    
                        //图片容器
                        $queue = $uploaderDiv.find('ul.filelist').length > 0 ? $("ul.filelist") : $('<ul class="filelist"></ul>').appendTo($uploaderDiv),
    
                        //拖拽区域
                        $dndDiv = $('<div id="dndArea_' + $uploaderDivId + '" class="placeholder">').appendTo($uploaderDiv),
                        $dndDivId = $dndDiv.attr('id'),
    
                        //点选区域
                        $pickerDiv = $(' <div id="filePicker_' + $uploaderDivId + '"></div>').appendTo($dndDiv),
                        $pickerDivId = $pickerDiv.attr('id');
    
                    //迭代出默认配置
                    $.each(getOption('#' + $uploaderDivId), function (key, value) {
                        opt[key] = opt[key] || value;
                    });
    
    
                    opt = $.extend(true, {}, opt, {
                        dnd: '#' + $dndDivId,
                        paste: '#' + $uploaderDivId,
                        //按钮容器;
                        pick: {
                            id: '#' + $pickerDivId,
                            label: '<i class="fa icon-create"></i><p class="filePickerText"><span>添加图片</span><br/>(最多' + (opt.fileMaxCount ? opt.fileMaxCount : opt['fileNumLimit']) + '张)</p>',
                            multiple: true
                        },
                    });
                    if (opt.buttonText) {
                        opt['pick']['label'] = opt.buttonText;
                        delete opt.buttonText;
                    }
                    if (!opt.multiple) {
                        opt['pick']['multiple'] = opt.multiple;
                        delete opt.multiple;
                    }
                    if (opt.fileMaxCount) {
                        opt['fileNumLimit'] = opt.fileMaxCount;
                        delete opt.fileMaxCount;
                    }
                    webUploader = WebUploader.create(opt);
                    //if (!WebUploader.Uploader.support()) {
                    //    alert(' 上传组件不支持您的浏览器!');
                    //    return false;
                    //}
                    //绑定文件加入队列事件;
                    webUploader.on('fileQueued', function (file) {
                        if (fileCount == opt.fileNumLimit) {
                            return NotifyDanger('上传文件数量超过限制!');
                        }
                        fileCount++;                    
                        addFile(file);
                        if (opt.fileNumLimit === fileCount) {
                            setState('ready');
                        }
                    });
                    webUploader.on('fileDequeued', function (file) {
                        fileCount--;
                        if (!fileCount || fileCount < opt.fileNumLimit) {
                            setState('pedding');
                        }
    
                        removeFile(file);
    
                    });
                    // 拖拽时不接受 js, txt 文件。
                    webUploader.on('dndAccept', function (items) {
                        var denied = false,
                            len = items.length,
                            i = 0,
                            // 修改js类型
                            unAllowed = 'text/plain;application/javascript ';
    
                        for (; i < len; i++) {
                            // 如果在列表里面
                            if (~unAllowed.indexOf(items[i].type)) {
                                denied = true;
                                break;
                            }
                        }
    
                        return !denied;
                    });
                    //选择文件错误触发事件;
                    webUploader.on('error', function (code) {
                        var text = '';
                        switch (code) {
                            case 'F_DUPLICATE': text = '该文件已经被选择了!';
                                break;
                            case 'Q_EXCEED_NUM_LIMIT': text = '上传文件数量超过限制!';
                                break;
                            case 'F_EXCEED_SIZE': text = '文件大小不能超过1M!';
                                break;
                            case 'Q_EXCEED_SIZE_LIMIT': text = '所有文件总大小超过限制!';
                                break;
                            case 'Q_TYPE_DENIED': text = '文件类型不正确或者是空文件!';
                                break;
                            default: text = '未知错误!';
                                break;
                        }
                        NotifyDanger(text);
                    });
                    webUploader.on('all', function (type) {
                        switch (type) {
                            case 'uploadFinished':
                                setState('confirm');
                                break;
                            case 'startUpload':
                                setState('uploading');
                                break;
                            case 'stopUpload':
                                setState('paused');
                                break;
    
                        }
                    })
                    function setState(val) {
                        if (val === state) {
                            return;
                        }
                        state = val;
    
                        switch (state) {
                            case 'pedding':
                                $dndDiv.removeClass('element-invisible');
                                //$queue.hide();
                                webUploader.refresh();
                                break;
                            case 'ready':
                                $dndDiv.addClass('element-invisible');
                                //$queue.show();
                                webUploader.refresh();
                                break;
                        }
                    }
                    // 当有文件添加进来时执行,负责view的创建
                    function addFile(file) {
                        var $li = $('<li id="' + file.id + '">' +
                            //'<p class="title">' + file.name + '</p>' +
                            '<a href="" class="linkA" data-fancybox="group" data-caption=""><p class="imgWrap"></p></a>' +
                            //'<p class="progress"><span></span></p>' +
                            '</li>'),
    
                            $btns = $('<div class="file-panel">' +
                                '<span class="cancel">删除</span></div>').appendTo($li),
                            $prgress = $li.find('p.progress span'),
                            $wrap = $li.find('p.imgWrap'),
                            $info = $('<p class="error"></p>'),
                            $link = $li.find('a.linkA');
    
                        showError = function (code) {
                            switch (code) {
                                case 'exceed_size':
                                    text = '文件大小超出';
                                    break;
    
                                case 'interrupt':
                                    text = '上传暂停';
                                    break;
    
                                default:
                                    text = '上传失败,请重试';
                                    break;
                            }
    
                            $info.text(text).appendTo($li);
                        };
    
                        if (file.getStatus() === 'invalid') {
                            showError(file.statusText);
                        } else {
                            // @todo lazyload
                            $wrap.text('预览中');
                            webUploader.makeThumb(file, function (error, src) {
                                if (error) {
                                    $wrap.text('不能预览');
                                    return;
                                }
    
                                if (isSupportBase64) {
                                    var img = $('<img src="' + src + '">');
                                    $wrap.empty().append(img);
                                    $link.attr('href', src);
                                } else {
                                    $wrap.text("预览出错");
                                }
                            }, thumbnailWidth, thumbnailHeight);
                        }
    
                        file.on('statuschange', function (cur, prev) {
                            if (prev === 'progress') {
                                $prgress.hide().width(0);
                            } else if (prev === 'queued') {
                                $li.off('mouseenter mouseleave');
                                $btns.remove();
                            }
    
                            // 成功
                            if (cur === 'error' || cur === 'invalid') {
                                console.log(file.statusText);
                                showError(file.statusText);
                            } else if (cur === 'interrupt') {
                                showError('interrupt');
                            } else if (cur === 'queued') {
                            } else if (cur === 'progress') {
                                $info.remove();
                                $prgress.css('display', 'block');
                            } else if (cur === 'complete') {
                                $li.append('<span class="success"></span>');
                            }
    
                            $li.removeClass('state-' + prev).addClass('state-' + cur);
                        });
    
                        $li.on('mouseenter', function () {
                            $btns.stop().animate({ height: 30 });
                        });
    
                        $li.on('mouseleave', function () {
                            $btns.stop().animate({ height: 0 });
                        });
    
                        $btns.on('click', 'span', function () {
                            webUploader.removeFile(file);
    
                            //if (supportTransition) {
                            //    deg = 'rotate(' + file.rotation + 'deg)';
                            //    $wrap.css({
                            //        '-webkit-transform': deg,
                            //        '-mos-transform': deg,
                            //        '-o-transform': deg,
                            //        'transform': deg
                            //    });
                            //} else {
                            //    $wrap.css('filter', 'progid:DXImageTransform.Microsoft.BasicImage(rotation=' + (~~((file.rotation / 90) % 4 + 4) % 4) + ')');
                            //    // use jquery animate to rotation
                            //    // $({
                            //    //     rotation: rotation
                            //    // }).animate({
                            //    //     rotation: file.rotation
                            //    // }, {
                            //    //     easing: 'linear',
                            //    //     step: function( now ) {
                            //    //         now = now * Math.PI / 180;
    
                            //    //         var cos = Math.cos( now ),
                            //    //             sin = Math.sin( now );
    
                            //    //         $wrap.css( 'filter', "progid:DXImageTransform.Microsoft.Matrix(M11=" + cos + ",M12=" + (-sin) + ",M21=" + sin + ",M22=" + cos + ",SizingMethod='auto expand')");
                            //    //     }
                            //    // });
                            //}
    
    
                        });
    
                        $li.appendTo($queue);
                    }
                    // 负责view的销毁
                    function removeFile(file) {
                        var $li = $('#' + file.id);
                        $li.remove();
                    }
                })(opt, $(this))
    
           //以下是图片回显的重点内容:先将图片转成File类型,然后通过addFiles把图片添加到队列。参考:https://segmentfault.com/q/1010000007428390
                var pictureObj = new Object();
                pictureObj.getPictures = function (opt) {
                    if (opt.pictures) {
                        //convertBase64UrlToBlob
                        var getFileBlob = function (url, cb) {
                            var bytes = window.atob(url);        //去掉url的头,并转换为byte  
    
                            //处理异常,将ascii码小于0的转换为大于0  
                            var ab = new ArrayBuffer(bytes.length);
                            var ia = new Uint8Array(ab);
                            for (var i = 0; i < bytes.length; i++) {
                                ia[i] = bytes.charCodeAt(i);
                            }
    
                            cb(new Blob([ab], { type: 'image/jpeg' }));
                        };
    
                        var blobToFile = function (blob, name) {
                            blob.lastModifiedDate = new Date();
                            blob.name = name;
                            return blob;
                        };
    
                        var getFileObject = function (filePathOrUrl, cb) {
                            getFileBlob(filePathOrUrl, function (blob) {
                                cb(blobToFile(blob, 'test.jpg'));
                            });
                        };
                        var pictures = opt.pictures.split(',');
                        $.each(pictures, function (index, item) {
                            getFileObject(item, function (fileObject) {
                                var wuFile = new WebUploader.Lib.File(WebUploader.guid('rt_'), fileObject);
                                var file = new WebUploader.File(wuFile);
                                webUploader.addFiles(file)
                            })
                        })
                    }
                }
                return pictureObj;
            }
        })
    })(jQuery)
    
    //Web Uploader默认配置;
    function getOption(objId) {
        /*
        *    配置文件同webUploader一致,这里只给出默认配置.
        *    具体参照:http://fex.baidu.com/webuploader/doc/index.html
        */
        return {
            //按钮容器;
            pick: {
                id: objId,
                label: '<i class="fa icon- create"></i><p class="filePickerText"><span>点击添加图片</span></p>',//'<i class="fa icon-create"></i><p class="filePickerText"><span>添加图片</span><br/>(最多20张)</p>',
                multiple: true
            },
            //类型限制;
            //accept: {
            //    title: "Images",
            //    extensions: "gif,jpg,jpeg,bmp,png,ico",
            //    mimeTypes: "image/*"
            //},
            //配置生成缩略图的选项
            thumb: {
                 170,
                height: 150,
                // 图片质量,只有type为`image/jpeg`的时候才有效。
                quality: 70,
                // 是否允许放大,如果想要生成小图的时候不失真,此选项应该设置为false.
                allowMagnify: false,
                // 是否允许裁剪。
                crop: false,
                // 为空的话则保留原有图片格式。
                // 否则强制转换成指定的类型。
                type: "image/jpeg"
            },
            //文件上传方式
            method: "POST",
      tyty      //fh;
           tguty server: "",
            //是否已二进制的流的方式发送文件,这样整个上传内容php://input都为文件内容
            sendAsBinary: false,
            // 开起分片上传。 thinkphp的上传类测试分片无效,图片丢失;
            chunked: true,
            // 分片大小
            chunkSize: 512 * 1024,
            //最大上传的文件数量, 总文件大小,单个文件大小(单位字节);
            fileNumLimit: 50,
            fileSizeLimit: 10240 * 1024,
            fileSingleSizeLimit: 1024 * 1024,
        };
    }
    
    ////实例化Web Uploader
    //function getUploader(opt) {
    //    return new WebUploader.Uploader(opt);
    //

    前台调用方式:

     this.init_uploader_picture = function () { //实例化并绑定药品图片
            $('#uploader_picture').uploadImg({
                fileMaxCount: 1,
                multiple: false,
                //pictures: self.form.picture()
            }).getPictures({
                pictures: self.form.picture()
            });
        }

    方式二

    /*
    fileMaxCount 最大文件数
    buttonText 按钮文本
    multiple 是否多选
    pictures base64图片,以逗号隔开
    */
    (function ($) {
        $.fn.extend({
            diyUpload: function (opt) {
                //可行性判断
                if (!WebUploader.Uploader.support()) {
                    alert('Web Uploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器');
                    throw new Error('WebUploader does not support the browser you are using.');
                }
    
                if (typeof opt != "object") {
                    alert('参数错误!');
                    return;
                }
    
                (function (opt, $uploaderDiv) {
    
                    // 可能有pedding, ready, uploading, confirm, done.
                    var state = 'pedding',
    
                        // 添加的文件数量
                        fileCount = 0,
    
                        // 优化retina, 在retina下这个值是2
                        //ratio = window.devicePixelRatio || 1,
    
                        // 缩略图大小
                        thumbnailWidth = 700,
                        thumbnailHeight = 700,
    
                        // 判断浏览器是否支持图片的base64
                        isSupportBase64 = (function () {
                            var data = new Image();
                            var support = true;
                            data.onload = data.onerror = function () {
                                if (this.width != 1 || this.height != 1) {
                                    support = false;
                                }
                            }
                            data.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";
                            return support;
                        })(),
    
                        // $uploaderDiv = $(this),
                        $uploaderDivId = $uploaderDiv.attr('id'),
    
                        //图片容器
                        $queue = $uploaderDiv.find('ul.filelist').length > 0 ? $("ul.filelist") : $('<ul class="filelist"></ul>').appendTo($uploaderDiv),
    
                        //拖拽区域
                        $dndDiv = $('<div id="dndArea_' + $uploaderDivId + '" class="placeholder">').appendTo($uploaderDiv),
                        $dndDivId = $dndDiv.attr('id'),
    
                        //点选区域
                        $pickerDiv = $(' <div id="filePicker_' + $uploaderDivId + '"></div>').appendTo($dndDiv),
                        $pickerDivId = $pickerDiv.attr('id');
    
                    //迭代出默认配置
                    $.each(getOption('#' + $uploaderDivId), function (key, value) {
                        opt[key] = opt[key] || value;
                    });
    
    
                    opt = $.extend(true, {}, opt, {
                        dnd: '#' + $dndDivId,
                        paste: '#' + $uploaderDivId,
                        //按钮容器;
                        pick: {
                            id: '#' + $pickerDivId,
                            label: '<i class="fa icon-create"></i><p class="filePickerText"><span>添加图片</span><br/>(最多' + (opt.fileMaxCount ? opt.fileMaxCount : opt['fileNumLimit']) + '张)</p>',
                            multiple: true
                        },
                    });
                    if (opt.buttonText) {
                        opt['pick']['label'] = opt.buttonText;
                        delete opt.buttonText;
                    }
                    if (opt.multiple) {
                        opt['pick']['multiple'] = opt.multiple;
                        delete opt.multiple;
                    }
                    if (opt.fileMaxCount) {
                        opt['fileNumLimit'] = opt.fileMaxCount;
                        delete opt.fileMaxCount;
                    }
             //图片回显的另一种方式
             if (opt.pictures) { var pictures = opt.pictures.split(','); for (var i = 0; i < pictures.length; i++) { fileCount++; (function () { //加载原来的图片 var href = "data:image/jpeg;base64," + pictures[i], $li = $('<li id="PIC_WU_FILE_' + i.toString() + '"> <a href="' + href + '" class="linkA" data-fancybox="group" data-caption=""><p class="imgWrap"><img src="' + href + '"/></p></a> </li>'), $btns = $('<div class="file-panel"> <span class="cancel">删除</span> </div>').appendTo($li); $li.appendTo($queue); $li.on('mouseenter', function () { $btns.stop().animate({ height: 30 }); }); $li.on('mouseleave', function () { $btns.stop().animate({ height: 0 }); }); $btns.on('click', 'span', function () { $(this).parent().parent().remove(); fileCount--; if (!fileCount || fileCount < opt.fileNumLimit) { $dndDiv.removeClass('element-invisible'); } }); })(i) } //上传照片数量等于限制数量时,隐藏上传按钮 if (pictures.length > 0 && opt.fileNumLimit && opt.fileNumLimit == fileCount) { $dndDiv.addClass('element-invisible'); } //重新设置限制文件个数参数 if (fileCount > 0) { opt['fileNumLimit'] = opt.fileNumLimit - fileCount; fileCount = 0; } } var webUploader = WebUploader.create(opt); //if (!WebUploader.Uploader.support()) { // alert(' 上传组件不支持您的浏览器!'); // return false; //} //绑定文件加入队列事件; webUploader.on('fileQueued', function (file) { fileCount++; addFile(file); if (opt.fileNumLimit === fileCount) { setState('ready'); } }); webUploader.on('fileDequeued', function (file) { fileCount--; if (!fileCount || fileCount < opt.fileNumLimit) { setState('pedding'); } removeFile(file); }); // 拖拽时不接受 js, txt 文件。 webUploader.on('dndAccept', function (items) { var denied = false, len = items.length, i = 0, // 修改js类型 unAllowed = 'text/plain;application/javascript '; for (; i < len; i++) { // 如果在列表里面 if (~unAllowed.indexOf(items[i].type)) { denied = true; break; } } return !denied; }); //选择文件错误触发事件; webUploader.on('error', function (code) { var text = ''; switch (code) { case 'F_DUPLICATE': text = '该文件已经被选择了!'; break; case 'Q_EXCEED_NUM_LIMIT': text = '上传文件数量超过限制!'; break; case 'F_EXCEED_SIZE': text = '文件大小不能超过1M!'; break; case 'Q_EXCEED_SIZE_LIMIT': text = '所有文件总大小超过限制!'; break; case 'Q_TYPE_DENIED': text = '文件类型不正确或者是空文件!'; break; default: text = '未知错误!'; break; } NotifyDanger(text); //alert(text); }); webUploader.on('all', function (type) { switch (type) { case 'uploadFinished': setState('confirm'); break; case 'startUpload': setState('uploading'); break; case 'stopUpload': setState('paused'); break; } }) function setState(val) { if (val === state) { return; } state = val; switch (state) { case 'pedding': $dndDiv.removeClass('element-invisible'); //$queue.hide(); webUploader.refresh(); break; case 'ready': $dndDiv.addClass('element-invisible'); //$queue.show(); webUploader.refresh(); break; } } // 当有文件添加进来时执行,负责view的创建 function addFile(file) { var $li = $('<li id="' + file.id + '">' + //'<p class="title">' + file.name + '</p>' + '<a href="" class="linkA" data-fancybox="group" data-caption=""><p class="imgWrap"></p></a>' + //'<p class="progress"><span></span></p>' + '</li>'), $btns = $('<div class="file-panel">' + '<span class="cancel">删除</span></div>').appendTo($li), $prgress = $li.find('p.progress span'), $wrap = $li.find('p.imgWrap'), $info = $('<p class="error"></p>'), $link = $li.find('a.linkA'); showError = function (code) { switch (code) { case 'exceed_size': text = '文件大小超出'; break; case 'interrupt': text = '上传暂停'; break; default: text = '上传失败,请重试'; break; } $info.text(text).appendTo($li); }; if (file.getStatus() === 'invalid') { showError(file.statusText); } else { // @todo lazyload $wrap.text('预览中'); webUploader.makeThumb(file, function (error, src) { if (error) { $wrap.text('不能预览'); return; } if (isSupportBase64) { var img = $('<img src="' + src + '">'); $wrap.empty().append(img); $link.attr('href', src); } else { $wrap.text("预览出错"); } }, thumbnailWidth, thumbnailHeight); } file.on('statuschange', function (cur, prev) { if (prev === 'progress') { $prgress.hide().width(0); } else if (prev === 'queued') { $li.off('mouseenter mouseleave'); $btns.remove(); } // 成功 if (cur === 'error' || cur === 'invalid') { console.log(file.statusText); showError(file.statusText); } else if (cur === 'interrupt') { showError('interrupt'); } else if (cur === 'queued') { } else if (cur === 'progress') { $info.remove(); $prgress.css('display', 'block'); } else if (cur === 'complete') { $li.append('<span class="success"></span>'); } $li.removeClass('state-' + prev).addClass('state-' + cur); }); $li.on('mouseenter', function () { $btns.stop().animate({ height: 30 }); }); $li.on('mouseleave', function () { $btns.stop().animate({ height: 0 }); }); $btns.on('click', 'span', function () { webUploader.removeFile(file); //if (supportTransition) { // deg = 'rotate(' + file.rotation + 'deg)'; // $wrap.css({ // '-webkit-transform': deg, // '-mos-transform': deg, // '-o-transform': deg, // 'transform': deg // }); //} else { // $wrap.css('filter', 'progid:DXImageTransform.Microsoft.BasicImage(rotation=' + (~~((file.rotation / 90) % 4 + 4) % 4) + ')'); // // use jquery animate to rotation // // $({ // // rotation: rotation // // }).animate({ // // rotation: file.rotation // // }, { // // easing: 'linear', // // step: function( now ) { // // now = now * Math.PI / 180; // // var cos = Math.cos( now ), // // sin = Math.sin( now ); // // $wrap.css( 'filter', "progid:DXImageTransform.Microsoft.Matrix(M11=" + cos + ",M12=" + (-sin) + ",M21=" + sin + ",M22=" + cos + ",SizingMethod='auto expand')"); // // } // // }); //} }); $li.appendTo($queue); } // 负责view的销毁 function removeFile(file) { var $li = $('#' + file.id); $li.remove(); } })(opt, $(this)) } }) })(jQuery) //Web Uploader默认配置; function getOption(objId) { /* * 配置文件同webUploader一致,这里只给出默认配置. * 具体参照:http://fex.baidu.com/webuploader/doc/index.html */ return { //按钮容器; pick: { id: objId, label: '<i class="fa icon- create"></i><p class="filePickerText"><span>点击添加图片</span></p>',//'<i class="fa icon-create"></i><p class="filePickerText"><span>添加图片</span><br/>(最多20张)</p>', multiple: true }, //类型限制; //accept: { // title: "Images", // extensions: "gif,jpg,jpeg,bmp,png,ico", // mimeTypes: "image/*" //}, //配置生成缩略图的选项 thumb: { 170, height: 150, // 图片质量,只有type为`image/jpeg`的时候才有效。 quality: 70, // 是否允许放大,如果想要生成小图的时候不失真,此选项应该设置为false. allowMagnify: false, // 是否允许裁剪。 crop: false, // 为空的话则保留原有图片格式。 // 否则强制转换成指定的类型。 type: "image/jpeg" }, //文件上传方式 method: "POST", //服务器地址; server: "", //是否已二进制的流的方式发送文件,这样整个上传内容php://input都为文件内容 sendAsBinary: false, // 开起分片上传。 thinkphp的上传类测试分片无效,图片丢失; chunked: true, // 分片大小 chunkSize: 512 * 1024, //最大上传的文件数量, 总文件大小,单个文件大小(单位字节); fileNumLimit: 50, fileSizeLimit: 10240 * 1024, fileSingleSizeLimit: 1024 * 1024, }; } ////实例化Web Uploader //function getUploader(opt) { // return new WebUploader.Uploader(opt); //}

    前台调用方式:

     this.init_uploader_picture = function () { //实例化并绑定药品图片
            $('#uploader_picture').uploadImg({
                fileMaxCount: 1,
                multiple: false,
                pictures: self.form.picture()
            });
        }
  • 相关阅读:
    lyft amundsen简单试用
    Prisma 2 is Coming Soon
    amundsen 来自lyft 的开源数据发现平台
    packr 方便的潜入静态资源文件到golang 二进制文件中
    hasura skor 构建安装
    Oracle中删除用户下所有对象的多种方法
    负载均衡----实现配置篇(Nginx)
    【nginx】配置Nginx实现负载均衡
    Vmware ESXi添加共享磁盘
    从Oracle迁移到MySQL的各种坑及自救方案
  • 原文地址:https://www.cnblogs.com/SunXiaoLin/p/11002585.html
Copyright © 2020-2023  润新知