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的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
Sep 26 NodeJs
nodejs实现bigpipe异步加载页面方案
Jan 26 NodeJs
NodeJS使用formidable实现文件上传
Oct 27 NodeJs
详解nodejs微信公众号开发——2.自动回复
Apr 10 NodeJs
解析NodeJS异步I/O的实现
Apr 13 NodeJs
nodejs密码加密中生成随机数的实例代码
Jul 17 NodeJs
nodejs使用redis作为缓存介质实现的封装缓存类示例
Feb 07 NodeJs
nodejs基于express实现文件上传的方法
Mar 19 NodeJs
5分钟教你用nodeJS手写一个mock数据服务器的方法
Sep 10 NodeJs
Nodejs在局域网配置https访问的实现方法
Oct 17 NodeJs
nodejs+koa2 实现模仿springMVC框架
Oct 21 NodeJs
nodejs中使用worker_threads来创建新的线程的方法
Jan 22 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/12/05 PHP
使用PHP备份MySQL和网站发送到邮箱实例代码
2013/11/28 PHP
php找出指定范围内回文数且平方根也是回文数的方法
2015/03/23 PHP
PHP中生成UUID自定义函数分享
2015/06/10 PHP
php封装一个异常的处理类
2017/06/08 PHP
ext form 表单提交数据的方法小结
2008/08/08 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
简介JavaScript中toTimeString()方法的使用
2015/06/12 Javascript
javascript设计模式之module(模块)模式
2016/08/19 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
2016/09/05 Javascript
Angular组件化管理实现方法分析
2017/03/17 Javascript
vue中实现左右联动的效果
2018/06/22 Javascript
vue 属性拦截实现双向绑定的实例代码
2018/10/24 Javascript
用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)
2018/12/05 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
vue-cli项目使用mock数据的方法(借助express)
2019/04/15 Javascript
如何利用node转发请求详解
2020/09/17 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
Python threading多线程编程实例
2014/09/18 Python
python调试神器PySnooper的使用
2019/07/03 Python
如何通过50行Python代码获取公众号全部文章
2019/07/12 Python
django之使用celery-把耗时程序放到celery里面执行的方法
2019/07/12 Python
Django中create和save方法的不同
2019/08/13 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
基于Python计算圆周率pi代码实例
2020/03/25 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
2020/06/05 Python
英国家居用品和床上用品零售商:P&B Home
2020/01/16 全球购物
应届中专生自荐书范文
2014/02/13 职场文书
升国旗仪式主持词
2014/03/19 职场文书
产品质量保证书
2014/04/29 职场文书
酒店员工辞职信范文
2015/02/28 职场文书
2015年安全生产工作总结范文
2015/04/02 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
导游词之无锡梅园
2019/11/28 职场文书
java解析XML详解
2021/07/09 Java/Android