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异步回调的优雅处理方法
Sep 25 NodeJs
Nodejs Post请求报socket hang up错误的解决办法
Sep 25 NodeJs
详解NodeJS框架express的路径映射(路由)功能及控制
Mar 24 NodeJs
nodejs获取微信小程序带参数二维码实现代码
Apr 12 NodeJs
nodejs 最新版安装npm 的使用详解
Jan 18 NodeJs
nodejs实现的连接MySQL数据库功能示例
Jan 25 NodeJs
Nodejs使用Mongodb存储与提供后端CRD服务详解
Sep 04 NodeJs
nodejs中函数的调用实例详解
Oct 31 NodeJs
详解NodeJS Https HSM双向认证实现
Mar 12 NodeJs
nodejs脚本centos开机启动实操方法
Mar 04 NodeJs
nodejs使用Sequelize框架操作数据库的实现
Oct 21 NodeJs
如何利用nodejs自动定时发送邮件提醒(超实用)
Dec 01 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
三国漫画《火凤燎原》宣布动画化PV放出 预计2020年播出
2020/03/08 国漫
Zend framework处理一个http请求的流程分析
2010/02/08 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
JS去除字符串的空格增强版(可以去除中间的空格)
2009/08/26 Javascript
jQuery $.each的用法说明
2010/03/22 Javascript
自写的一个jQuery圆角插件
2010/10/26 Javascript
不要使用jQuery触发原生事件的方法
2014/03/03 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
详解Javascript动态操作CSS
2014/12/08 Javascript
JavaScript使用push方法添加一个元素到数组末尾用法实例
2015/04/06 Javascript
jQuery模拟黑客帝国矩阵效果实例
2015/06/28 Javascript
javascript实现网页端解压并查看zip文件
2015/12/15 Javascript
jquery表单插件Autotab使用方法详解
2016/06/24 Javascript
js实现砖头在页面拖拉效果
2020/11/20 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
关于js陀螺仪的理解分析
2019/04/11 Javascript
详解将微信小程序接口Promise化并使用async函数
2019/08/05 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
使用Python实现一个简单的项目监控
2015/03/31 Python
浅谈Python traceback的优雅处理
2018/08/31 Python
python中的print()输出
2019/04/12 Python
Python使用turtle库绘制小猪佩奇(实例代码)
2020/01/16 Python
css3图片边框border-image的用法
2017/06/30 HTML / CSS
HTML5和以前HTML4的区别整理
2013/10/20 HTML / CSS
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
2017/08/18 HTML / CSS
世界上最大的在线汽车租赁预订平台:Rentalcars.com(支持中文)
2018/10/12 全球购物
俄罗斯护发和专业化妆品购物网站:Hihair
2019/09/28 全球购物
会展中心部门工作职责
2013/11/27 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
2015年保管员工作总结
2015/04/30 职场文书
深入解析MySQL索引数据结构
2021/10/16 MySQL
一文搞清楚MySQL count(*)、count(1)、count(col)区别
2022/03/03 MySQL
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技