nodejs+express+mysql 之 简单的在线HTML编辑器

1.从原网站下载源码:http://kindeditor.net/demo.php

2.将kindeditor放到项目内,使其能够完成基本功能

1).将plugins、themes、lang、kindeditor-min.js放到public/kindeditor/下

2).在views下创建文件editor.ejs,内容为

<script src="/kindeditor/kindeditor-min.js" type="text/javascript"></script> --- 这里是第一步的文件路径,如果不是按照上一步做的,你需要修改此引用路径
<form style="padding-top:10px;padding-left:5%;">
    <textarea name="content" style="width:90%;height:500px;visibility:hidden;"></textarea>
  </form>
  <p>
    <input type="button" name="getHtml" onclick="getHtml();" value="取得HTML" />
    <input type="button" name="setHtml" onclick="setHtml();" value="设置HTML" />
  </p>
<script type="text/javascript">
  var _editor;
  $(function(){
    KindEditor.ready(function(K) {
      _editor = K.create('textarea[name="content"]', {
        pasteType : 2,
        items : [
          'source', '|','formatblock','fontname', 'fontsize', '|', 'forecolor','lineheight', 'bold', 'italic', 'underline',
          'removeformat', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist',
          'insertunorderedlist', '|', 'emoticons', 'image', 'link','code','insertfile','clearhtml', 'quickformat','preview']//这里可自定义显示的功能
      });
    });
  });

  function getHtml(){
    console.log(_editor.html());
  }
</script>

3).在routes/index.js中添加

app.get('/editor',function (req, res){
	res.render('editor', { layout:'layout/gray'});//这里指定显示的模板,若是默认的话,去掉就行
});

4).测试:http://127.0.0.1:3000/editor

到目前为止,上传图片神马的应该不能够使用,上传图片文件下边会说

3.完成上传图片的功能(后台+前台)

1).打开/public/kindeditor/plugins/image/image.js

修改第16行

		uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'),//将php....该为上传之后要执行的代码,我这里改为了upload

修改第194行

if (formatUploadUrl) {
	url = K.formatUrl(url, 'absolute');//将这里改成url = window.location.origin + '/'+url;,因为图片路径在同一个文件夹下
}

2).打开routes/index.js添加

app.post('/kindeditor/upload',function (req,res){
	var _files = req.files.imgFile;
    if (_files.length < 0) { console.log('files.length <= 0'); return; }
	var item =_files ,_tmp , _name=item.name;
    if (_name && item.path) {
        var tmpPath = item.path, type = item.type ,extension_name = '',
        tmp_name = (Date.parse(new Date()) / 1000) + '' + (Math.round(Math.random() * 9999));
        switch (type) {	//判断文件类型
            case 'image/pjpeg': extension_name = 'jpg';  break;
            case 'image/jpeg': extension_name = 'jpg'; break;
            case 'image/gif': extension_name = 'gif'; break;
            case 'image/png': extension_name = 'png'; break;
            case 'image/x-png': extension_name = 'png'; break;
            case 'image/bmp': extension_name = 'bmp'; break;
            default: if(_name.indexOf('.')<=0) return; 	//其他文件则默认上传
	            else {
	            	_tmp = _name.split('.');
	            	extension_name = _tmp[_tmp.length-1]; break;
	            }
        }
        tmp_name = tmp_name + '.' + extension_name,
        targetPath = 'public/upload/' + tmp_name,//配置上传路径
		is = fs.createReadStream(tmpPath),
		os = fs.createWriteStream(targetPath);
		util.pump(is, os, function() {
			fs.unlinkSync(tmpPath);
			console.log('upload success : ',targetPath);
			res.json({//返回的指
				error : 0,
				url : 'upload/' + tmp_name,
				title : tmp_name,
				message : tmp_name
			});
		});
    };
});

配置完就可以使用了,如果出现了问题,qq我:328179934

4.完成上传文件的功能

待更新...

说明:此项目已共享到github上面,上边说的功能已全部实现,访问链接为:https://github.com/ymma/blog.git

时间: 2024-08-11 05:44:45

nodejs+express+mysql 之 简单的在线HTML编辑器的相关文章

NodeJS+Express+MySQL开发小记(2):服务器部署

http://borninsummer.com/2015/06/17/notes-on-developing-nodejs-webapp/ NodeJS+Express+MySQL开发小记(1)里讲过在本地搭建 NodeJS 网站的若干细节.本人最近在阿里云服务器上面按最低配租了4个月的云服务器,所以想试着把这个项目部署到云上.云服务器操作系统是Ubuntu 14.04 LTS.之前一直在Windows下做开发,对于Linux下的环境搭建.配置还不是很熟悉,搭建的过程中学到很多东西. 本文简单记

nodejs+express+mysql 增删改查

之前,一直使用的是nodejs+thinkjs来完成自己所需的项目需求,而对于nodejs中另外一中应用框架express却了解的少之又少,这两天就简单的了解了一下如何使用express来做一些数据库的增删改查. 准备工作: 所需工具:电脑上要安装好nodejs(官网https://nodejs.org/en/),下载并安装好nodejs之后,需要在cmd中再安装好express框架: npm install express-generator -g 安装完毕之后,检查一下是否安装成功: 还有一

Nodejs+express+mysql+百度BAE部署node后台

转载请注明出处:http://www.cnblogs.com/shamoyuu/p/node_bae.html 百度有一个应用引擎,价格非常便宜,Java的tomcat每天4毛钱,node每天2毛钱,我以前在上面搭建过一个JavaWeb的项目,今天来说说怎么搭建nodejs+express+mysql的后台. 首先打开console.bce.baidu.com,注册登录完成,然后新建一个应用引擎BAE如下图进行设置 目前基础版的BAE只支持node4.4.4,不过应该已经足够了.如果是用koa2

vue+nodejs+express+mysql 建立一个在线网盘程序

vue+nodejs+express+mysql 建立一个在线网盘程序 目录 vue+nodejs+express+mysql 建立一个在线网盘程序 第一章 开发环境准备 1.1 开发所用工具简介 1.2 安装 MySQL 1.2.1 下载安装 MySQL 1.2.2 可能出现的问题和解决方案 1.3 安装 vue-cli 1.4 安装 express 第二章 数据库设计和创建 2.1 数据库和表设计 2.2 user 表 2.3 file 表 2.4 创建数据库和表所用 sql 语句参考 第三

进入全屏 nodejs+express+mysql实现restful风格的增删改查示例

首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间接触到node.js,于是花了两天时间学了一下node.js并写了一个CRUD简单示例.由于前几天一直学用github pages搭建博客,一直没时间写README,今天有空补了上来. 下面来内容自于项目的README. 二.项目介绍 基于node.js + express + mysql实现的re

基于nodejs+express+mysql+webstorm+html的 增删改查

一.工具准备 Nodejs框架,WebStorm.Mysql服务.Navicat.此篇文章只讲项目的搭建过程,至于Nodejs,WebStorm.Mysql的下载.安装与配置网上资源很多,请自行查阅,本文重点讲述 增删改查,此文为学习笔记,我也是初学者,很多代码没有做过多解释,以免误导他人. Github 地址:https://github.com/Spqin/Nodejs_Websto_Mysql_CRUD 二.打开WebStorm创建项目-项目名称自定义,这里我按年月日做项目名称. 1.选怎

Nodejs&amp;express+mongodb完成简单用户登录(即Nodejs入门)

刚了解nodejs,发现nodejs配置起来不复杂,但也有很多需要注意的地方,今天就记录一下,以后也可拿出来看看. 要完成这个简单的示例,从零开始,走三步就行了. 一.搭建开发环境 二.创建项目(express) 三.编码 我是属于技术类的人,废话无多. 一.搭建开发环境 1. nodejs 1.1 安装 到官方网站下载最新版本 http://www.nodejs.org/, 下载之后,安装,一路 next 1.2 配置 path  把上面安装的目录配置到环境变量中,方便以后用命令行的方式使用n

应用node+express+mysql 实现简单的增删改查

记录下来备忘 1.准备好webstrom编辑器,编辑器调整字体大小等在file->settings->editor下设置 注册码 来源网上: 2017.2.27更新 选择"license server" 输入:http://idea.imsxm.com/ 2.准备好 mysql 因为我本机有安装xampp 所以不需要单独准备mysql数据库 如果没有需要安装,安装了mysql的Navicat Premium管理工具. 3.查看下本机node和express是否安装 版本no

最新的chart 聊天功能( webpack2 + react + router + redux + scss + nodejs + express + mysql + es6/7)

请表明转载链接:http://www.cnblogs.com/zhangkunweb/p/6853728.html 我是一个喜欢捣腾的人,没事总喜欢学点新东西,可能现在用不到,但是不保证下一刻用不到. 我一直从事的是依赖angular.js 的web开发,但是我怎么能一直用它呢?看看最近火的一塌糊涂的reactjs ,我的天啊,不学会它,怎么能睡好觉. 今天我分享一个依赖最新版本的webpack + react + router + redux + scss + nodejs + mysql +