代码高亮:http://www.cnblogs.com/KTblog/p/5205214.html

效果:

项目结构:

  • Extend:存放各种扩展
  • BlogAction.class.php:博文模块
  • addBlog.html:添加博文页面

Html代码:

只是用一个核心文件也可,也可以加入其他js文件,比如语言包,扩展包。

addBlog.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>添加博文</title>
<link rel="stylesheet" href="__PUBLIC__/Css/Public.css" />
</head>
<body>
<table class="table"> //代码省略......
     //代码省略......
     //代码省略...... <tr>
<td colspan="2" align="center">
<!-- KindEditor编辑器 Begin -->
<textarea name="content" style="width:700px;height:200px;visibility:hidden;"></textarea>
<!-- KindEditor编辑器 End -->
</td>
</tr>
<tr>
<td colspan="2" align="center">
<!-- <input type="text" value="保存提交" /> -->
<a href="" id="submit">提交</a>
</td>
</tr>
</table> <!-- JQuery CDN Begin -->
<script src="//cdn.bootcss.com/jquery/2.2.0/jquery.min.js"></script>
<!-- JQuery End -->
<!-- KindEditor编辑器JS Begin -->
<script charset="utf-8" src="__EXTEND__/KindEditor/kindeditor.js"></script>
<!-- KindEditor编辑器JS End -->
<!-- 调用js Begin -->
<script>
$(function () {
//初始化编辑器
var ed = null;
KindEditor.ready(function(K) {
         //上传操作
ed = K.create('textarea[name="content"]', {
uploadJson : '../Blog/upload',//post提交图片的地址,在后台按照往常的上传函数接受即可。
});
}); //提交事件
$('#submit').click(function() {
var content = ed.html();//获取编辑器内容
alert(content);
});
});
</script>
<!-- 调用js End --> </body>
</html>

PHP后台:

  • 此处使用了ThinkPHP的MVC模式搭建项目:
  • 所以传递到这个路径:../Blog/upload,其中 ../ 代表文件所在位置其上的所有目录结构。文件所在目录,看顶部图片。
  • 上传成功或失败,按照注释所给的json格式传递会前台即可。
  • 可以使用加盖水印功能

BlogAction.class.php->upload()

/**
* 处理上传图片
* @return [type] [description]
*/
Public function upload() {
//上传文件
import('ORG.Net.UploadFile');
//加盖水印
import('ORG.Util.Image'); $upload = new UploadFile();
$upload->savePath = './App/Uploads/';
$upload->autoSub = true;
$upload->subType = 'date';
$upload->dateFormat = 'Ymd'; // 返回值:
// //成功时
// {
// "error" : 0,
// "url" : "http://www.example.com/path/to/file.ext"
// }
// //失败时
// {
// "error" : 1,
// "message" : "错误信息"
// }
if ( !$upload->upload() ) {
echo json_encode(array('error'=>1, $upload->getErrorMsg()));
} else {
$UplaodFileInfo = $upload->getUploadFileInfo();
$imagePath = '/App/Uploads/' . $UplaodFileInfo[0]['savename']; //加盖水印
//地址前面要使用 ./ 当前路径
Image::water('.' . $imagePath, './App/Data/logo.gif'); echo json_encode(array('error'=>0, 'url'=>$imagePath));
} }

KindEditor - 富文本编辑器 - 使用+上传图片的更多相关文章

  1. django的admin或者应用中使用KindEditor富文本编辑器

    由于django后台管理没有富文本编辑器,看着好丑,展示出来的页面不美观,无法做到所见即所得的编辑方式,所以我们需要引入第三方富文本编辑器. 之前找了好多文档已经博客才把这个功能做出来,有些博客虽然写 ...

  2. (转)淘淘商城系列——KindEditor富文本编辑器的使用

    http://blog.csdn.net/yerenyuan_pku/article/details/72809794 通过上文的学习,我们知道了怎样解决KindEditor富文本编辑器上传图片时的浏 ...

  3. (转)学习淘淘商城第二十二课(KindEditor富文本编辑器的使用)

    http://blog.csdn.net/u012453843/article/details/70184155 上节课我们一起学习了怎样解决KindEditor富文本编辑器上传图片的浏览器兼容性问题 ...

  4. django项目中使用KindEditor富文本编辑器。

    先从官网下载插件,放在static文件下 前端引入 <script type="text/javascript" src="/static/back/kindedi ...

  5. django项目中使用KindEditor富文本编辑器

    先从官网下载插件,放在static文件下 前端引入 <script type="text/javascript" src="/static/back/kindedi ...

  6. KindEditor富文本编辑器使用

    我的博客本来打算使用layui的富文本编辑器,但是出了一个问题,无法获取编辑器内容,我参考官方文档,获取内容也就那几个方法而已,但是引入进去后始终获取的值为空,百度和bing都试过了,但是始终还是获取 ...

  7. vue-quill-editor富文本编辑器,上传图片自定义为借口上传

    vue-quill-editor富文本编辑器,上传图片自定义为借口上传 博客地址:https://blog.csdn.net/lyj2018gyq/article/details/82585194

  8. kindeditor富文本编辑器初步使用教程

    下载kindeditor 可以选择去官网下载(http://kindeditor.net/down.php),不过要FQ:或者直接CSDNhttp://download.csdn.net/downlo ...

  9. bootstrap-wysihtml5 ckeditor 修改富文本编辑器可以上传图片

    bootstrap-wysihtml5 ckeditor 修改富文本编辑器可以上传图片   bootstrap-wysihtml5实际使用内核为ckeditor     故这里修改ckeditor即可 ...

随机推荐

  1. 现在输入 n 个数字, 以逗号, 分开; 然后可选择升或者 降序排序;

    /* 现在输入 n 个数字, 以逗号, 分开: 然后可选择升或者 降序排序: */ import java.util.*; public class bycomma{ public static St ...

  2. 关于两次指针(struct型)传参数的问题

    这两天被struct传参给郁闷死了.今天终于解决了. 比如有一个struct如下: struct _ns1__Add_USCORESensorDataArray{ struct xsd__base64 ...

  3. 神奇的魔法数字0x61c88647

    来源JDK源码,产生的数字分布很均匀 用法代码如下. # -*- coding: utf-8 -*- HASH_INCREMENT = 0x61c88647 def magic_hash(n): fo ...

  4. linux文件系统操作——底层文件访问

        在不使用标准I/O的情况下,使用write,read,open实现对文件的复制操作,这些调用都是直接使用底层系统调用,完成从用户代码到内核代码的切换,消耗大量的系统资源,今天对此进行研究主要是 ...

  5. Array.Add () and += in PowerShell

    $newArray = @() $newArray.Add("Hello") If I create a new array, and using the method Add() ...

  6. ubutu下的几个命令

    nginx重启命令 (ps:意为将nginx重启) /usr/local/nginx/sbin/nginx -s reload 给new目录权限设置为777 (ps:意思为将wwwroot/new目录 ...

  7. 基于SIM 卡卡基不同制作工艺的研究

    1 国内外现行的SIM 卡卡基制作工艺 SIM 卡由卡基和芯片两部分组成.卡基上有植入芯片的台阶式芯片槽,SIM 卡的芯片通过多点焊接植入台阶式芯片槽之中与卡基组成SIM 卡,然后经过个性化数据处理, ...

  8. 用于展现图表的50种JavaScript库

    在很多项目中都会有在前端展现数据图表的需求,而在开发过程中,开发者往往会使用一些JavaScript库,从而更有效地达到想要的目标.最近,TechSlide上的一篇文章总结了50种用于展现图表的Jav ...

  9. C/C++程序员面试大纲

    基础篇:操作系统.计算机网络.设计模式一:操作系统 1. 进程的有哪几种状态,状态转换图,及导致转换的事件. 2. 进程与线程的区别. 3. 进程通信的几种方式. 4. 线程同步几种方式.(一定要会写 ...

  10. CSS块级元素和行内元素

    根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为“block”,成为“块级 ...