Node.js : ueditor
UEditor 官方支持的版本有PHP JSP ASP .NET.
ueditor for nodejs 可以让你的UEditor支持nodejs
ueditor@1.0.0 已经全面升级 。
##Installation
npm install ueditor --save
Usage
var bodyParser = require('body-parser')
var ueditor = require("ueditor")
app.use(bodyParser.urlencoded({
extended: true
}))
app.use(bodyParser.json());
app.use("/ueditor/ue", ueditor(path.join(__dirname, 'public'), function(req, res, next) {
if(req.query.action === 'uploadimage'){
var foo = req.ueditor;
console.log(foo.filename);
console.log(foo.encoding);
console.log(foo.mimetype);
var img_url = 'yourpath';
res.ue_up(img_url);
}
else if (req.query.action === 'listimage'){
var dir_url = 'your img_dir';
res.ue_list(dir_url)
}
else {
res.setHeader('Content-Type', 'application/json');
res.redirect('/ueditor/ueditor.config.json')
}}));
七牛上传
var bodyParser = require('body-parser')
var ueditor = require("ueditor")
app.use(bodyParser.urlencoded({
extended: true
}))
app.use(bodyParser.json());
app.use("/ueditor/ue", ueditor(path.join(__dirname, 'public'), {
qn: {
accessKey: 'your access key',
secretKey: 'your secret key',
bucket: 'your bucket name',
origin: 'http://{bucket}.u.qiniudn.com'
}
}, function(req, res, next) {
var imgDir = '/img/ueditor/'
if(req.query.action === 'uploadimage'){
var foo = req.ueditor;
var imgname = req.ueditor.filename;
res.ue_up(imgDir);
}
else if (req.query.action === 'listimage'){
res.ue_list(imgDir);
}
else {
res.setHeader('Content-Type', 'application/json');
res.redirect('/ueditor/ueditor.config.json')
}}));
FDFS上传
var bodyParser = require('body-parser')
var ueditor = require("ueditor")
app.use(bodyParser.urlencoded({
extended: true
}))
app.use(bodyParser.json());
var ueditorConfig = {
fdfs: {
upload: {
host: '192.168.0.40',
port: '22122'
},
download: {
host: '192.168.0.82'
},
defaultExt: 'jpg',
charset: 'utf8',
timeout: 20 * 1000
}
};
app.use("/ueditor/ue", ueditor(path.join(__dirname, 'public'), ueditorConfig, function(req, res, next) {
var imgDir = '/img/ueditor/'
if(req.query.action === 'uploadimage'){
var foo = req.ueditor;
var imgname = req.ueditor.filename;
res.ue_up(imgDir);
}
else if (req.query.action === 'listimage'){
res.ue_list(imgDir);
}
else {
res.setHeader('Content-Type', 'application/json');
res.redirect('/ueditor/ueditor.config.json')
}}));
多类型文件上传 (附件 视频 图片)
var bodyParser = require('body-parser')
var ueditor = require("ueditor")
app.use(bodyParser.urlencoded({
extended: true
}))
app.use(bodyParser.json());
app.use("/ueditor/ue", ueditor(path.join(__dirname, 'public'), function(req, res, next) {
var imgDir = '/img/ueditor/'
var ActionType = req.query.action;
if (ActionType === 'uploadimage' || ActionType === 'uploadfile' || ActionType === 'uploadvideo') {
var file_url = imgDir;
if (ActionType === 'uploadfile') {
file_url = '/file/ueditor/';
}
if (ActionType === 'uploadvideo') {
file_url = '/video/ueditor/';
}
res.ue_up(file_url);
res.setHeader('Content-Type', 'text/html');
}
else if (ActionType === 'listimage'){
res.ue_list(imgDir);
}
else {
res.setHeader('Content-Type', 'application/json');
res.redirect('/ueditor/ueditor.config.json')
}}));
上传配置
app.use("/ueditor/ue", static_url, config = {}, callback);
当config为空时,会默认把图片上传到 static_url + '/img/ueditor' 目录下。
比如例子“Usage”中图片会上传到项目的 public/img/ueditor 目录。
当配置了 config.qn 图片则只会上传到七牛服务器而不会上传到项目目录。
同时上传到七牛和项目目录,只需配置 config.local 即可
config = {
qn: { ... },
local: true
}
你可以来ueditor:nodejs给作者留言