博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用kindeditor 实现 Play FrameWork的html编辑器
阅读量:6415 次
发布时间:2019-06-23

本文共 2738 字,大约阅读时间需要 9 分钟。

hot3.png

本文主要目的是用kindeditor 实现图片上传功能。

第一步:在view中加载kindeditor ,指定kindeditor的配置:

<script type="text/javascript">

KE.show({

id : 'content1',

//重点是下面这句

imageUploadJson : '@{Journals.uploadjson()}', 

fileManagerJson : '../../jsp/file_manager_json.jsp',

allowFileManager : true,

afterCreate : function(id) {

KE.event.ctrl(document, 13, function() {

KE.util.setData(id);

document.forms['form'].submit();

});

KE.event.ctrl(KE.g[id].iframeDoc, 13, function() {

KE.util.setData(id);

document.forms['form'].submit();

});

}

});

</script>

第二步:编写Controller:uploadjson方法:

public static void uploadjson(File imgFile) {

//文件保存目录路径

String savePath =  Play.applicationPath.toString()+Play.configuration.getProperty("newsImg.savePath", "false");

//文件保存目录URL

String saveUrl  =  Play.configuration.getProperty("newsImg.savePath", "false");

//System.out.println("Play.configuration.getProperty(newsImg.fileTypes):"+Play.configuration.getProperty("newsImg.fileTypes", "false"));

//定义允许上传的文件扩展名

String[] fileTypes = (Play.configuration.getProperty("newsImg.fileTypes", "false")).trim().toString().split(",");

//最大文件大小

long maxSize = 1000000;

if (imgFile != null) {

//检查目录

File uploadDir = new File(savePath);

if(!uploadDir.isDirectory()){

renderJSON(getError("上传目录不存在。"));

return;

}

//检查目录写权限

if(!uploadDir.canWrite()){

renderJSON(getError("上传目录没有写权限。"));

return;

}

//创建文件夹

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

String ymd = sdf.format(new Date());

savePath += ymd + "/";

saveUrl += ymd + "/";

File dirFile = new File(savePath);

if (!dirFile.exists()) {

dirFile.mkdirs();

}

//检查文件大小

if(imgFile.length() > maxSize){

renderJSON(getError("上传文件大小超过限制。"));

return;

}

//检查扩展名

String fileExt = imgFile.getName().substring(imgFile.getName().lastIndexOf(".") + 1).toLowerCase();

// System.out.println("fileExt:"+fileExt);

if(!Arrays.<String>asList(fileTypes).contains(fileExt)){

renderJSON(getError("上传文件扩展名是不允许的扩展名。"));

return;

}

// String ext = imgFile.getName().substring(

// imgFile.getName().lastIndexOf("."));

// String fileName = RandomStringUtils.random(8, true, true) + ext;

SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");

String newFileName = df.format(new Date()) + "_" + new Random().nextInt(1000) + "." + fileExt;

File f = new File(savePath,newFileName);

//System.out.println("f.getPath()----:" + f.getPath());

 

try {

// System.out

// .println("imgFile.renameTo(f):" + imgFile.renameTo(f));

JSONObject obj = new JSONObject();

obj.put("error", 0);

obj.put("url", saveUrl + newFileName);

renderText(obj.toJSONString().toString());

return;

} catch (Exception e) {

e.printStackTrace();

renderJSON(getError("上传失败"));

return;

}

 

}else{

renderJSON(getError("请选择文件。"));

return;

}

}

第三步:测试吧。就这些了,不用详细介绍了。

 

转载于:https://my.oschina.net/wenivan/blog/32634

你可能感兴趣的文章
学习笔记:索引碎片、计划缓存、统计信息
查看>>
TSQL技巧(一) -- 子查询(subquery)
查看>>
espcms简约版的表单,提示页,搜索列表页
查看>>
GDI
查看>>
设备拨打电话
查看>>
学习笔记-七burpsuite的使用
查看>>
dom解析xml
查看>>
【leetcode】900. RLE Iterator
查看>>
Google JavaScript Style Guide
查看>>
ethtool
查看>>
POJ 1273 Drainage Ditches
查看>>
阻塞和非阻塞,同步和异步
查看>>
LINUX基础内容
查看>>
阿花宝宝 Java基础笔记 之 引用类型作为参数
查看>>
Echarts dataZoom缩放功能参数详解:
查看>>
实践作业
查看>>
JAVA中的TreeSet
查看>>
关于checked="checked"却不显示选中的“对勾”
查看>>
三、MySQL PHP 语法
查看>>
实现文件与目录快速遍历
查看>>