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进程管理模块forever详解
Jun 01 NodeJs
nodejs下打包模块archiver详解
Dec 03 NodeJs
Nodejs实现多人同时在线移动鼠标的小游戏分享
Dec 06 NodeJs
轻松创建nodejs服务器(6):作出响应
Dec 18 NodeJs
nodejs 整合kindEditor实现图片上传
Feb 03 NodeJs
nodejs 子进程正确的打开方式
Jul 03 NodeJs
使用npm安装最新版本nodejs
Jan 18 NodeJs
nodeJS服务器的创建和重新启动的实现方法
May 12 NodeJs
NodeJS使用Range请求实现下载功能的方法示例
Oct 12 NodeJs
nodejs中使用archive压缩文件的实现代码
Nov 26 NodeJs
NodeJS开发人员常见五个错误理解
Oct 14 NodeJs
一文秒懂nodejs中的异步编程
Jan 28 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做下载文件的实现代码及文件名中乱码解决方法
2011/02/03 PHP
php中Session的生成机制、回收机制和存储机制探究
2014/08/19 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
php实现图片缩略图的方法
2016/03/29 PHP
Laravel框架实现利用监听器进行sql语句记录功能
2018/06/06 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
PHP抽象类基本用法示例
2018/12/28 PHP
浅谈Javascript面向对象编程
2011/11/15 Javascript
JQuery页面地址处理插件jqURL详解
2015/05/03 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
2016/03/13 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
2016/11/04 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
2017/05/20 jQuery
angularJs的ng-class切换class
2017/06/23 Javascript
vue组件父子间通信详解(三)
2017/11/07 Javascript
详解Nodejs内存治理
2018/05/13 NodeJs
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
Python版实现微信公众号扫码登陆
2020/05/28 Javascript
[52:20]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
python 输出一个两行字符的变量
2009/02/05 Python
python3实现跳一跳点击跳跃
2018/01/08 Python
python使用turtle库绘制树
2018/06/25 Python
django连接mysql配置方法总结(推荐)
2018/08/18 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
2020/02/28 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
python mysql中in参数化说明
2020/06/05 Python
Python eval函数原理及用法解析
2020/11/14 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
巴西最大的珠宝连锁店:Vivara
2019/04/18 全球购物
个人找工作自荐信格式
2013/09/21 职场文书
人力资源部经理的岗位职责
2014/03/04 职场文书
大二学习计划书范文
2014/04/27 职场文书
小学记事作文之200字
2019/08/06 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书
《中国机长》观后感:敬畏生命,敬畏职责
2019/11/12 职场文书