nodejs 整合kindEditor实现图片上传


Posted in NodeJs onFebruary 03, 2015

kindEditor官网上中提供了ASP,ASP.NET,JSP相关的整合应用,http://kindeditor.net/docs/upload.html可以参照实现nodejs的整合,发现实用nodejs更简单

环境:
unbuntu 14.10
nodejs 0.10.35
express 4.11.2
formidable 1.0.16
kindEditor 4.1.10
webStorm 8

1.通过IDE或终端创建一个名称为test的工程

2.编辑package.json添加formidable依赖,这里使用的是1.0.16版本,之后通过终端执行npm install完成依赖的安装

3.将kindEditor整个目录放到test/public/lib下

4.修改index.ejs和index.js文件
index.ejs中整合kindEditor:
       设置kindEditor的uploadJson为nodejs所提供的处理图片上传的路由url这里用的是/uploadImg
index.js中添加处理图片上传的路由url:
       添加/uploadImg对应的post处理方式,
代码如下:

index.js

<!DOCTYPE html>

<html>

  <head>

    <title><%= title %></title>

    <link rel='stylesheet' href='/stylesheets/style.css' />

      <script charset="utf-8" src="/lib/kindeditor-4.1.10/kindeditor.js"></script>

      <script charset="utf-8" src="/lib/kindeditor-4.1.10/lang/zh_CN.js"></script>

      <script>

          var options = {

              uploadJson: '/uploadImg'

          };

          KindEditor.ready(function(K) {

              window.editor = K.create('#editor', options);

          });

      </script>

  </head>

  <body>

    <h1><%= title %></h1>

    <textarea id="editor" name="content" style="width:700px;height:300px;">

        <strong>HTML内容</strong>

    </textarea>

  </body>

</html>

index.js

var express = require('express');

var router = express.Router();

var formidable = require('formidable');

/* GET home page. */

router.get('/', function(req, res, next) {

  res.render('index', { title: '图片上传' });

});

router.post('/uploadImg', function(req, res, next) {

    var form = new formidable.IncomingForm();

    form.keepExtensions = true;

    form.uploadDir = __dirname + '/../public/upload';

    form.parse(req, function (err, fields, files) {

        if (err) {

            throw err;

        }

        var image = files.imgFile;

        var path = image.path;

        path = path.replace('/\\/g', '/');

        var url = '/upload' + path.substr(path.lastIndexOf('/'), path.length);

        var info = {

            "error": 0,

            "url": url

        };

        res.send(info);

    });

});

module.exports = router;

之后通过IDE或终端启动test工程,通过http://localhost:3000访问页面就可以上传图片了

NodeJs 相关文章推荐
利用NodeJS的子进程(child_process)调用系统命令的方法分享
Jun 05 NodeJs
Nodejs实现多人同时在线移动鼠标的小游戏分享
Dec 06 NodeJs
轻松创建nodejs服务器(5):事件处理程序
Dec 18 NodeJs
nodejs 的 session 简单使用
Jun 06 NodeJs
nodejs微信公众号支付开发
Sep 19 NodeJs
Nodejs下用submit提交表单提示cannot post错误的解决方法
Nov 21 NodeJs
Nodejs 发送Post请求功能(发短信验证码例子)
Feb 09 NodeJs
NodeJS配置HTTPS服务实例分享
Feb 19 NodeJs
nodejs 日志模块winston的使用方法
May 02 NodeJs
nodejs 使用 js 模块的方法实例详解
Dec 04 NodeJs
nodejs基础之多进程实例详解
Dec 27 NodeJs
nodejs log4js 使用详解
May 31 NodeJs
NodeJS学习笔记之Connect中间件应用实例
Jan 27 #NodeJs
NodeJS学习笔记之Connect中间件模块(二)
Jan 27 #NodeJs
NodeJS学习笔记之Connect中间件模块(一)
Jan 27 #NodeJs
nodejs批量修改文件编码格式
Jan 22 #NodeJs
NodeJS学习笔记之MongoDB模块
Jan 13 #NodeJs
NodeJS学习笔记之(Url,QueryString,Path)模块
Jan 13 #NodeJs
NodeJS学习笔记之FS文件模块
Jan 13 #NodeJs
You might like
php checkbox 取值详细说明
2010/08/19 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
php检测文件编码的方法示例
2014/04/25 PHP
ThinkPHP权限认证Auth实例详解
2014/07/22 PHP
php实现登陆模块功能示例
2016/10/20 PHP
基于jquery的复制网页内容到WORD的实现代码
2011/02/16 Javascript
调用jQuery滑出效果时闪烁的解决方法
2014/03/27 Javascript
JS应用正则表达式转换大小写示例
2014/09/18 Javascript
浅析JavaScript事件和方法
2015/02/28 Javascript
javascript事件委托的方式绑定详解
2015/06/10 Javascript
jquery获得当前html页面源码的方法
2015/07/14 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
简单实现IONIC购物车功能
2017/01/10 Javascript
详解AngularJS 模块化
2017/06/14 Javascript
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
2017/06/16 Javascript
NodeJS设计模式总结【单例模式,适配器模式,装饰模式,观察者模式】
2017/09/06 NodeJs
node通过npm写一个cli命令行工具
2017/10/12 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
2018/05/09 jQuery
js自定义input文件上传样式
2018/10/26 Javascript
微信小程序实现列表页的点赞和取消点赞功能
2018/11/02 Javascript
vue制作抓娃娃机的示例代码
2020/04/17 Javascript
浅析vue中的nextTick
2020/12/28 Vue.js
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
Python学习pygal绘制线图代码分享
2017/12/09 Python
Python中分支语句与循环语句实例详解
2018/09/13 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
2020/06/27 Python
Python基于xlutils修改表格内容过程解析
2020/07/28 Python
Python如何telnet到网络设备
2021/02/18 Python
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
意大利中国电子产品购物网站:Geekmall.com
2019/09/30 全球购物
《蝙蝠和雷达》教学反思
2014/04/23 职场文书
服装设计师求职信
2014/06/04 职场文书
北京申奥口号
2014/06/19 职场文书
大学生暑假实习总结
2015/07/13 职场文书
详解flex:1什么意思
2022/07/23 HTML / CSS