一.百度UEditor编辑器之文件:image.js/image.html


下载的编辑器文件路径:

UEditor:

UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码...

路径:ueditor/dialogs/images/image.html

UMeditor

简称UM,是为满足广大门户网站对于简单发帖框,或者回复框需求所定制的在线富文本编辑器。 UM的主要特点就是容量和加载速度上的改变,主文件的代码量为139k,而且放弃了使用传统的iframe模式,采用了div的加载方式, 以达到更快的加载速度和零加载失败率。现在UM的第一个使用者是百度贴吧,贴吧每天几亿的pv是对UM各种指标的最好测试平台。 当然随着代码的减少,UM的功能对于UE来说还是有所减少,但我们经过调研和大家对于UM提出的各种意见,提供了现在UM的功能版本, 虽然有删减,但也有增加,比如拖拽图片上传,chrome的图片拖动改变大小等。让UM能在功能和体积上达到一个平衡。UM还会提供 CDN方式,减少大家部署的成本。我们的目标不仅是要提高在线编辑的编辑体验,也希望能改变前端技术中关于富文本技术的门槛,让大家不再觉得这块是个大坑。

路径:ueditor/dialogs/images/image.js


以上2个文件可以查看或修改百度编辑器上传图片表单名称,可以集成status2 上传文件的方法。

贴上表单代码:

UEditor- image.html


<script type="text/javascript">
        //全局变量
        var imageUrls = [],          //用于保存从服务器返回的图片信息数组
            selectedImageCount = 0;  //当前已选择的但未上传的图片数量

        editor.setOpt({
            imageFieldName:"upfile",  //图片File 文件名称,此处可以查看此处,status2 获取的 File 名称。
            compressSide:0,
            maxImageSideLength:900
        });
        utils.domReady(function(){
            var flashOptions = {
                container:"flashContainer",                                                    //flash容器id
                url:editor.options.imageUrl,                                           // 上传处理页面的url地址
                ext:'{"param1":"value1", "param2":"value2"}',                                 //可向服务器提交的自定义参数列表
                fileType:'{"description":"'+lang.fileType+'", "extension":"*.gif;*.jpeg;*.png;*.jpg"}',     //上传文件格式限制
                flashUrl:'imageUploader.swf',                                                  //上传用的flash组件地址
                width:608,          //flash的宽度
                height:272,         //flash的高度
                gridWidth:121,     // 每一个预览图片所占的宽度
                gridHeight:120,    // 每一个预览图片所占的高度
                picWidth:100,      // 单张预览图片的宽度
                picHeight:100,     // 单张预览图片的高度
                uploadDataFieldName:editor.options.imageFieldName,    // POST请求中图片数据的key
                picDescFieldName:'pictitle',      // POST请求中图片描述的key
                maxSize:4,                         // 文件的最大体积,单位M
                compressSize:2,                   // 上传前如果图片体积超过该值,会先压缩,单位M
                maxNum:32,                         // 单次最大可上传多少个文件
                compressSide:editor.optionspressSide,                 //等比压缩的基准,0为按照最长边,1为按照宽度,2为按照高度
                compressLength:editor.options.maxImageSideLength        //能接受的最大边长,超过该值Flash会自动等比压缩
            };
            //回调函数集合,支持传递函数名的字符串、函数句柄以及函数本身三种类型
            var callbacks = {
                // 选择文件的回调
                selectFileCallback: function(selectFiles){
                    utils.each(selectFiles,function(file){
                        var tmp = {};
                        tmp.id = file.index;
                        tmp.data = {};
                        postConfig.push(tmp);
                    });
                    selectedImageCount += selectFiles.length;
                    if(selectedImageCount) baidu.g("upload").style.display = "";
                    dialog.buttons[0].setDisabled(true); //初始化时置灰确定按钮
                },
                // 删除文件的回调
                deleteFileCallback: function(delFiles){
                    for(var i = 0,len = delFiles.length;i<len;i++){
                        var index = delFiles[i].index;
                        postConfig.splice(index,1);
                    }
                    selectedImageCount -= delFiles.length;
                    if (!selectedImageCount) {
                        baidu.g("upload").style.display = "none";
                        dialog.buttons[0].setDisabled(false);         //没有选择图片时重新点亮按钮
                    }
                },

                // 单个文件上传完成的回调
                uploadCompleteCallback: function(data){
                    try{
                        var info = eval("(" + data.info + ")");
                        info && imageUrls.push(info);
                        selectedImageCount--;
                    }catch(e){}

                },
                // 单个文件上传失败的回调,
                uploadErrorCallback: function (data){
                    if(!data.info){
                        alert(langError);
                    }
                    //console && console.log(data);
                },
                // 全部上传完成时的回调
                allCompleteCallback: function(){
                    dialog.buttons[0].setDisabled(false);    //上传完毕后点亮按钮
                },
                // 文件超出限制的最大体积时的回调
                //exceedFileCallback: 'exceedFileCallback',
                // 开始上传某个文件时的回调
                startUploadCallback: function(){
                    var config = postConfig.shift();
                    //也可以在这里更改
                    //if(config.id==2){ //设置第三张图片的对应参数
                    //     config.data={"myParam":"value"}
                    // }
                    flashObj.addCustomizedParams(config.id,config.data);
                }
            };
            imageUploader.init(flashOptions,callbacks);
            $G("upload").onclick = function () {
                /**
                 * 接口imageUploader.setPostParams()可以在提交时设置本次上传提交的参数(包括所有图片)
                 * 参数为json对象{"key1":"value1","key2":"value2"},其中key即为向后台post提交的name,value即为值。
                 * 其中有一个特殊的保留key值为action,若设置,可以更改本次提交的处理地址
                 */
                var postParams = {
                    "dir":baidu.g("savePath").value
                };
                imageUploader.setPostParams(postParams);
                flashObj.upload();
                this.style.display = "none";
                $G("savePath").parentNode.style.display = "none";
            };

        });
    </script>
UMeditor - image.js

    /*
     * 本地上传
     * */
    var Upload = {
        showCount: 0,
        uploadTpl: '<div class="edui-image-upload%%">' +
            '<span class="edui-image-icon"></span>' +
            '<form class="edui-image-form" method="post" enctype="multipart/form-data" target="up">' +
            '<input style=\"filter: alpha(opacity=0);\" class="edui-image-file" type="file" hidefocus name="upfile" accept="image/gif,image/jpeg,image/png,image/jpg,image/bmp"/>' +
            '</form>' +

            '</div>',
部分代码省略...

此处
type="file" hidefocus name="upfile" ,status2 使用File名称。




更多推荐

一.百度UEditor编辑器之图片上传文件:image.js/image.html