`
yjshengshe
  • 浏览: 204529 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

可上传图片的htmlEditor

阅读更多

扩展EXT htmlEditor js

//////////////////////////////////////////////////////////////////////////////////////////////////
HTMLEditor=Ext.extend(Ext.form.HtmlEditor,{  
     codeStyle:'<br/><pre style="border-right: #999999 1px dotted; padding-right: 5px; border-top: #999999 1px dotted; padding-left: 5px; font-size: 12px; padding-bottom: 5px; margin-left: 10px; border-left: #999999 1px dotted; margin-right: 10px; padding-top: 5px; border-bottom: #999999 1px dotted; background-color: #eeeeee">{0}</pre><br/>',  
     onRender : function(ct, position){       
         HTMLEditor.superclass.onRender.call(this, ct, position);  
         if(this.keys){  
            if(!this.keys.length){  
            this.keyMap = new Ext.KeyMap(this.getEditorBody(), this.keys);  
            }  
            else{                 
                this.keyMap = new Ext.KeyMap(this.getEditorBody(),this.keys[0]);  
                for(var i=1;i<this.keys.length;i++)this.keyMap.addBinding(this.keys[i]);  
            }  
            this.keyMap.stopEvent=true;  
         }  
     },  
       addImage:function(){  
        function insertImage(){ 
            var editor=this;  
            //editor.insertAtCursor("<br/><img src='upload/IMG_1198.JPG'/></br>");  
            win.upload(function(ret){  
                if(ret){                      
                    s="<br/><img src="+ret.path;  
                    if(ret.width)s+=" width="+ret.width;  
                    if(ret.height)s+=" height="+ret.height;  
                    s+=" /><br/>";  
                    editor.insertAtCursor(s);  
                    win.close();  
                }                 
                });  
        };  
    var win=new UploadImageWindow({modal:false,iconCls:"icon-img",  
        buttons:[{text:"确定",handler:insertImage,scope:this},{text:"取消",handler:function(){win.close();}}]});  
        win.show();  
    },  
    addCode:function(){  
        function insertCode(){  
            var value=win.getComponent("codes").getValue();  
            this.insertAtCursor(String.format(this.codeStyle,value));  
            win.close();  
        };  
        var win=new Ext.Window({title:"添加代码",  
                width:500,  
                height:300,  
                modal:true,  
                iconCls:"icon-code",  
                layout:"fit",  
                items:{xtype:"textarea",id:"codes"},  
                buttons:[{text:"确定",handler:insertCode,scope:this},{text:"取消",handler:function(){win.close();}}]});  
        win.show();  
    },    
    createToolbar:function(editor){  
        HTMLEditor.superclass.createToolbar.call(this,editor);  
        this.tb.insertButton(16,{cls:"x-btn-icon",  
            icon:"ext/resources/images/default/picture.png",handler:this.addImage,scope:this,tooltip : {
    title : '图片',
    text : '插入图片.',
    cls : 'x-html-editor-tip'
   }});      
        this.tb.insertButton(18,{cls:"x-btn-icon",  
            icon:"ext/resources/images/default/picture_add.png",handler:this.addCode,scope:this,tooltip : {
    title : '代码',
    text : '插入代码.',
    cls : 'x-html-editor-tip'
   }});  
                  
    },  
    validateValue : function(value){  
         if(value.length > this.maxLength){  
            var s=String.format(this.maxLengthText, this.maxLength);  
            this.markInvalid(s);  
            return false;  
        }  
         return true;  
    }  
});  
UploadImageWindow=Ext.extend(Ext.Window,{  
    title : '上传图片',       
    width : 345,              
    height : 210,     
    defaults : {              
        border : false 
    },  
    buttonAlign : 'center',   
    createFormPanel :function() {  
        return new Ext.form.FormPanel({           
            defaultType : 'textfield',  
            labelAlign : 'right',  
            fileUpload:true,  
            labelWidth : 75,              
            frame : true,  
            defaults : {              
                width : 220       
            },  
            items : [{                    
                    name : 'pathFile',  
                    fieldLabel : '选择图片',  
                    inputType : 'file' 
                    },  
                    {                     
                        name : 'title',  
                        fieldLabel : '说明' 
                    }
                    ,  
                    {                     
                        name : 'path',  
                        fieldLabel : 'URL'                
                    }
                    ,  
                    {  
                        name : 'width',  
                        fieldLabel : '宽度',  
                        value:'240'               
                    },  
                    {  
                        name : 'height',  
                        fieldLabel : '高度',  
                        value:'200'           
                    }  
                ]  
        });  
    },                    
    upload:function(fn) {  
            alert("1");
            this.fp.form.submit({  
                    waitTitle:"Ժ",  
                    waitMsg : '正在上传......',  
                    method:"POST",  
                    url : 'codeManage!uploadImage.action',//上传的action  
                    success : function(form, action) {  
                        this.fp.form.findField("path").setValue(action.result.path);  
                        var obj={title:this.fp.form.findField("title").getValue(),  
                           path:this.fp.form.findField("path").getValue(),  
                           width:this.fp.form.findField("width").getValue(),  
                           height:this.fp.form.findField("height").getValue()  
                           }                  
                        fn(obj);                          
                    },  
                    failure : function(form, action) {                        
                        if (action.failureType == Ext.form.Action.SERVER_INVALID)  
                            Ext.MessageBox.alert('', action.result.errors.msg);  
                        fn(false);                
                    },  
                    scope:this 
                });  
        },  
    initComponent : function(){  
        UploadImageWindow.superclass.initComponent.call(this);         
        this.fp=this.createFormPanel();  
        this.add(this.fp);  
     }    
 });   
//  
Ext.reg('myhtmleditor',HTMLEditor); 


////////////////////////////////////////////////////////////////////////////////////////////////////

 

调用方式:

{  
      xtype:"myhtmleditor",  
      name:"content",  
      value:"",  
      fieldLabel:"内容",  
      width:550,  
      height:400 
     }

 

////////////////////////////////////////////////////////////////////////////////////////////////////

 

this.tb.insertButton(16,{cls:"x-btn-icon",  
            icon:"ext/resources/images/default/picture.png",handler:this.addImage,scope:this,tooltip : {
    title : '图片',
    text : '插入图片.',
    cls : 'x-html-editor-tip'
   }});      

该处自定义修改图片位置

 

////////////////////////////////////////////////////////////////////////////////////////////////////

 

url action 类

 

分享到:
评论
2 楼 yjshengshe 2010-12-03  
什么回显?图片不能显示了?那肯定是你后台的javabean没写好,上面贴的只是前台的。
1 楼 ganqingde 2010-11-30  
我试了,能上传,但不能回显,报错了

相关推荐

    Ext Htmleditor 支持上传图片

    通过以上内容,我们了解到Ext HTMLEditor如何支持上传图片,并涉及到了Ext JS的基本使用、HTMLEditor的配置、图片上传的实现原理以及相关的安全优化措施。实现这一功能需要前端与后端的配合,但带来的用户体验提升是...

    extjs htmleditor 图片上传和添加网络图片编辑器

    这个主题主要关注如何在ExtJS的HTMLEditor中实现图片的上传和添加网络图片功能。 首先,理解ExtJS HTMLEditor的基本结构和工作原理是至关重要的。HTMLEditor是一个组件,它可以将HTML代码作为输入,并提供类似于...

    JavaFx使用HTMLEditor实现上传图片upload image

    HTMLEditor控件是一个功能...但是没有实现上传图片功能,这里调整JavaFX的HTMLEditor,让它能够支持上传本地图片,并且在HTMLEditor可以遇到看到图片展示出来,在开发的时候,做了很多尝试,才把这个功能开发出来了。

    新浪htmleditor修改版(添加图片,flv上传)

    于是,新浪htmleditor修改版应运而生,它在保留原有编辑器强大功能的同时,又加入了图片上传、FLV视频上传等新功能,并且对编辑器的界面图标进行了更新。下面,我们将对这款编辑器的功能升级和用户体验改进做进一步...

    完整的Extjs4 htmleditor上传图片插件(包括实例和用法)

    在ExtJS4中,htmleditor是一个非常实用的组件,它允许用户在编辑器中进行HTML编辑,包括插入文本、格式化、链接创建等,而上传图片功能是增强编辑器功能的重要一环。本资源提供了一个完整的ExtJS4 htmleditor图片...

    新浪htmleditor jsp版 可上传 可结合struts2

    在实际项目中,这可能包括图片上传的JavaScript函数、后台处理图片上传的Servlet或Struts2 Action、以及相关的配置文件(如Struts2的配置XML文件)。这些文件通常会处理图片的上传、存储、缩略图生成、以及在编辑器...

    htmleditor扩展插入图片功能,使用Extjs+servlet请求实现

    2. **上传图片处理**:当用户选择图片并点击“插入”按钮时,我们需要监听这个事件。在HTML Editor中,可以通过`getEditorField().insertImage()`方法插入图片,但图片必须有一个URL。因此,我们需要实现一个图片...

    c#的HtmlEditor

    4. **扩展功能**:为了增加更多功能,比如上传图片或文件,开发者通常会集成服务器端的API。当用户在编辑器中选择“插入图片”时,会触发文件上传,然后返回图片的URL,插入到HTML中。 5. **样式和主题**:...

    扩展ExtJs的HtmlEditor编辑器插入图片.pdf

    FileUploadField控件提供了基本的文件上传功能,可以上传图片、文档、音频、视频等多种类型的文件。 ### 2. 实现图片预览功能 在图片上传成功后,我们需要实现图片预览功能,用于显示上传的图片。我们可以使用Img...

    htmleditor在线编辑器,带flv格式上传多媒体功能

    它支持多种富文本编辑功能,包括插入图片、链接、格式化文本等,并且在本例中特别强调了其支持FLV(Flash Video)格式的多媒体文件上传。这表明HTMLEditor不仅仅是一个基本的文本输入框,还具备了多媒体集成能力,...

    htmleditor jsp php

    在"htmleditor jsp php"中,用户可以插入图片、链接、表格,甚至应用各种文本样式,如字体、大小、颜色等,而无需接触任何HTML代码。 2. **JSP集成** JSP(JavaServer Pages)是Java平台上的动态网页技术。通过将...

    多媒体编辑器,HtmlEditor,是网站开发者的必备利器。

    在多媒体支持方面,HtmlEditor具备上传和管理媒体文件的功能,用户可以方便地上传本地资源,或从云端存储服务中导入,极大地丰富了网站的多媒体内容。同时,它支持多种视频和音频格式,确保了跨平台的兼容性。 为了...

    Lion.Data.Library.HtmlEditor v2.0 Demo

    3. **图片和文件管理**:内置的文件上传功能允许用户直接在编辑器中上传图片和文件,并能进行简单的管理和预览。 4. **HTML代码编辑模式**:除了可视化编辑外,还提供了源代码编辑模式,便于开发者对HTML代码进行...

    ExtJsHtmlEditor 扩展

    ExtJs HtmlEditor 扩展 可上传视频上传文件上传图片

    Extjs的HtmlEidtor富文本编辑器的使用和图片上传显示的实现

    这篇博客文章"Extjs的HtmlEidtor富文本编辑器的使用和图片上传显示的实现"将详细介绍如何使用HtmlEditor以及如何实现图片上传和显示的功能。 首先,我们需要了解HtmlEditor的基本用法。HtmlEditor通常包含一个...

    EXT扩展Htmleditor,在工具栏中添加插入图片按钮,可选择图片插入到编辑器中(也可添加其他功能按钮)

    以上只是一个简单的示例,实际开发中可能需要处理更多细节,如图片大小限制、上传到服务器、预览图片等。EXT Htmleditor的强大之处在于它的高度可定制性,你可以根据需要添加任意数量的按钮,甚至创建复杂的自定义...

    Lion.Data.Library.HtmlEditor v2.0(源码和实例)

    2. 插件系统:Lion.Data.Library.HtmlEditor支持插件机制,允许添加或删除编辑器的功能模块,如图片上传、视频插入等,这极大地增强了编辑器的灵活性。 3. 数据处理:源码中包含了对HTML内容的处理逻辑,如数据的...

    ExtJS的编辑器HtmlEditor的一个图片插件

    HtmlEditor(编辑器)的一个图片插件,制作过程用到了图片上传等,采用Struts1.2 ,上传组件使用的是Cos,这个插件的意义并不在于插件本身,只是希望给要用ExtJS做文件上传或想做ExtJS插件的朋友提供一种思路 ...

    新浪博客HtmlEditor在线编辑器

    3. 图片处理:HtmlEditor支持本地图片上传,用户可以直接将电脑上的图片导入到编辑器中,用于博客文章的配图。同时,它可能还具备图片裁剪、旋转、调整大小等功能,帮助用户优化图片展示效果。 4. 链接插入:用户...

    htmleditor在线编辑器

    此外,它还具备诸如图片上传、链接插入、格式化文本等高级功能,为用户提供类似于桌面文字处理软件的编辑体验。 二、主要功能 1. **文本格式化**:用户可以通过按钮选择不同的字体、大小、颜色,以及对文本进行...

Global site tag (gtag.js) - Google Analytics