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实现黑名单中间件设计
Jun 17 NodeJs
NodeJS制作爬虫全过程
Dec 22 NodeJs
用NodeJS实现批量查询地理位置的经纬度接口
Aug 16 NodeJs
详解NodeJS框架express的路径映射(路由)功能及控制
Mar 24 NodeJs
NodeJS处理Express中异步错误
Mar 26 NodeJs
nodejs学习笔记之路由
Mar 27 NodeJs
nodejs使用express创建一个简单web应用
Mar 31 NodeJs
详解nodejs操作mongodb数据库封装DB类
Apr 10 NodeJs
nodejs入门教程三:调用内部和外部方法示例
Apr 24 NodeJs
CentOS 安装NodeJS V8.0.0的方法
Jun 15 NodeJs
Nodejs调用WebService的示例代码
Sep 29 NodeJs
Nodejs实现微信分账的示例代码
Jan 19 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默认安装产生系统漏洞
2006/10/09 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
清华大学出版的事半功倍系列 javascript全部源代码
2007/05/04 Javascript
file模式访问网页时iframe高度自适应解决方案
2013/01/16 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
详解JS数值Number类型
2018/02/07 Javascript
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
详解vuex的简单todolist例子
2019/07/14 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
js基础之事件捕获与冒泡原理
2019/10/09 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
2020/04/29 Javascript
构建一个JavaScript插件系统
2020/10/20 Javascript
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
Python生成随机密码
2015/03/10 Python
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
python保存数据到本地文件的方法
2018/06/23 Python
Python判断一个三位数是否为水仙花数的示例
2018/11/13 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
python安装和pycharm环境搭建设置方法
2020/05/27 Python
Python -m参数原理及使用方法解析
2020/08/21 Python
Python读取pdf表格写入excel的方法
2021/01/22 Python
Shopee菲律宾:在线购买和出售
2019/11/25 全球购物
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
面试求职的个人自我评价
2013/11/16 职场文书
员工工作表扬信范文
2014/01/13 职场文书
美食节策划方案
2014/05/26 职场文书
2014年前台接待工作总结
2014/12/05 职场文书
小学生交通安全寄语
2015/02/27 职场文书
学校捐款活动总结
2015/05/09 职场文书
读《方与圆》有感:交友方圆有度
2020/01/14 职场文书
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript
JavaScript parseInt0.0000005打印5原理解析
2022/07/23 Javascript