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));
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JFinal: I18N 레이블현재 JFinal로 작은 프로젝트를 만들었는데 I18N 문제가 발생했을 때 JFinal이 클래스 방법만 지원하는 것을 보고 JSP 라벨을 써서 JSP 페이지에서 호출했다. Vity`s life. Step 1: JFi...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.