jfinal,KindEditor

8673 단어 jFinalkindeditor
 KindEditor.ready(function(K) {
        K.each({
            'plug-align' : {
                name : ' ',
                method : {
                    'justifyleft' : ' ',
                    'justifycenter' : ' ',
                    'justifyright' : ' '
                }
            },
            'plug-order' : {
                name : ' ',
                method : {
                    'insertorderedlist' : ' ',
                    'insertunorderedlist' : ' '
                }
            },
            'plug-indent' : {
                name : ' ',
                method : {
                    'indent' : ' ',
                    'outdent' : ' '
                }
            }
        },function( pluginName, pluginData ){
            var lang = {};
            lang[pluginName] = pluginData.name;
            KindEditor.lang( lang );
            KindEditor.plugin( pluginName, function(K) {
                var self = this;
                self.clickToolbar( pluginName, function() {
                    var menu = self.createMenu({
                        name : pluginName,
                        width : pluginData.width || 100
                    });
                    K.each( pluginData.method, function( i, v ){
                        menu.addItem({
                            title : v,
                            checked : false,
                            iconClass : pluginName+'-'+i,
                            click : function() {
                                self.exec(i).hideMenu();
                            }
                        });
                    })
                });
            });
        });
        editor =  K.create('#nr', {
            cssPath : '${ctx}/static/kindeditor/plugins/code/prettify.css',
            uploadJson : '${ctx}/upload/upload/',
            fileManagerJson : '${ctx}/upload/manageImg',
            allowFileManager : true,
            themeType : 'default',
            filterMode : true,
            items :[
                'source', '|', 'undo', 'redo', '|', 'preview', 'print', 'template', 'paste',
                'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright',
                'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent',
                'clearhtml', 'quickformat', 'selectall', '|',
                'formatblock', 'fontname', 'fontsize', '|','/', 'forecolor', 'hilitecolor', 'bold',
                'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|',
                'insertfile', 'table', 'hr', 'emoticons', 'baidumap', 'pagebreak',
                'anchor', 'link', 'unlink', '|', '|', 'image', 'multiimage'
            ] ,
            afterBlur:function(){this.sync(); }
        });

    });

백그라운드 코드
import com.jfinal.core.Controller;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import java.util.Random;

import org.apache.commons.io.FileUtils;



import com.alibaba.fastjson.JSON;
import com.jfinal.core.JFinal;
import com.jfinal.render.JsonRender;
import com.jfinal.upload.UploadFile;
/**
 * Created with IntelliJ IDEA.
 * User: xiaojing
 * Date: 14-8-2
 * Time:  4:40
 * To change this template use File | Settings | File Templates.
 */
public class UploadController extends Controller {

    /**
     *  
     * @throws Exception
     */
    public void upload() throws Exception{
        // 
        HashMap<String, String> extMap = new HashMap<String, String>();
        extMap.put("image", "gif,jpg,jpeg,png,bmp");
        extMap.put("flash", "swf,flv");
        extMap.put("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb");
        extMap.put("file", "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2,pdf");

        Map  result = new HashMap();
        String dirName = getPara("dir")==null?"image":getPara("dir");
        String realpath = getRequest().getRealPath("/uploadfile");
        UploadFile uf= getFile("imgFile",realpath);
        String affix_id = "";
        String affix_name = "";
        if(uf!=null){
            affix_name = uf.getFile().getName();
            File file = uf.getFile();
            // 
            String fileExt = affix_name.substring(affix_name.lastIndexOf(".") + 1).toLowerCase();
            if(!Arrays.<String>asList(extMap.get(dirName).split(",")).contains(fileExt)){
                result.put("error", 1);
                result.put("message", " 。
" + extMap.get(dirName) + " 。");                 file.delete();             }else{                 SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");                 affix_id = df.format(new Date()) + "_" + new Random().nextInt(1000)+"."+fileExt;                 File savefile = new File(new File(realpath),affix_id);                 FileUtils.copyFile(file, savefile);                 if(file.exists()){                     file.delete();                 }                 result.put("error", 0);                 result.put("url", JFinal.me().getContextPath()+"/uploadfile/"+affix_id);             }         }else{             result.put("error", 1);             result.put("message", " ");         }         render(new JsonRender(JSON.toJSONString(result)).forIE());     }     /**      *       */     public void manageImg(){         String[] fileTypes = new String[]{"gif", "jpg", "jpeg", "png", "bmp"};         String currentPath = getRequest().getRealPath("/uploadfile")+"/";         File currentPathFile = new File(currentPath);         List<Hashtable> fileList = new ArrayList<Hashtable>();         if(currentPathFile.listFiles() != null) {             for (File file : currentPathFile.listFiles()) {                 Hashtable<String, Object> hash = new Hashtable<String, Object>();                 String fileName = file.getName();                 if(file.isDirectory()) {                     hash.put("is_dir", true);                     hash.put("has_file", (file.listFiles() != null));                     hash.put("filesize", 0L);                     hash.put("is_photo", false);                     hash.put("filetype", "");                 } else if(file.isFile()){                     String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();                     hash.put("is_dir", false);                     hash.put("has_file", false);                     hash.put("filesize", file.length());                     hash.put("is_photo", Arrays.<String>asList(fileTypes).contains(fileExt));                     hash.put("filetype", fileExt);                 }                 hash.put("filename", fileName);                 hash.put("datetime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(file.lastModified()));                 fileList.add(hash);             }         }         // ,name or size or type         String order = getPara("order") != null ? getPara("order").toLowerCase() : "name";         Map result = new HashMap();         result.put("moveup_dir_path", "");         result.put("current_dir_path","");         result.put("current_url", JFinal.me().getContextPath()+"/uploadfile/");         result.put("total_count", fileList.size());         result.put("file_list", fileList);         System.out.println(JSON.toJSONString(result));         renderJson(JSON.toJSONString(result));     } }

좋은 웹페이지 즐겨찾기