ueditor
Advanced tools
Comparing version 1.2.0 to 1.2.1
@@ -23,5 +23,6 @@ var express = require('express'); | ||
//客户端上传文件设置 | ||
var imgDir = '/img/ueditor/' | ||
var ActionType = req.query.action; | ||
if (ActionType === 'uploadimage' || ActionType === 'uploadfile' || ActionType === 'uploadvideo') { | ||
var file_url = '/img/ueditor/';//默认图片上传地址 | ||
var file_url = imgDir;//默认图片上传地址 | ||
/*其他上传格式的地址*/ | ||
@@ -39,3 +40,3 @@ if (ActionType === 'uploadfile') { | ||
else if (req.query.action === 'listimage') { | ||
var dir_url = '/images/ueditor/'; | ||
var dir_url = imgDir; | ||
res.ue_list(dir_url); // 客户端会列出 dir_url 目录下的所有图片 | ||
@@ -42,0 +43,0 @@ } |
94
index.js
@@ -1,94 +0,2 @@ | ||
var Busboy = require('busboy'); | ||
var fs = require('fs'); | ||
var fse = require('fs-extra'); | ||
var os = require('os'); | ||
var path = require('path'); | ||
var snowflake = require('node-snowflake').Snowflake; | ||
var ueditor = function (static_url, handel) { | ||
return function (req, res, next) { | ||
var _respond = respond(static_url, handel); | ||
_respond(req, res, next); | ||
}; | ||
}; | ||
var respond = function (static_url, callback) { | ||
return function (req, res, next) { | ||
if (req.query.action === 'config') { | ||
callback(req, res, next); | ||
return; | ||
} else if (req.query.action === 'listimage') { | ||
res.ue_list = function (list_dir) { | ||
var str = ''; | ||
var i = 0; | ||
var list = []; | ||
fs.readdir(static_url + list_dir, function (err, files) { | ||
if (err) throw err; | ||
var total = files.length; | ||
files.forEach(function (file) { | ||
var filetype = 'jpg,png,gif,ico,bmp'; | ||
var tmplist = file.split('.'); | ||
var _filetype = tmplist[tmplist.length - 1]; | ||
if (filetype.indexOf(_filetype.toLowerCase()) >= 0) { | ||
var temp = {}; | ||
if (list_dir === '/') { | ||
temp.url = list_dir + file; | ||
} else { | ||
temp.url = list_dir + "/" + file; | ||
} | ||
list[i] = (temp); | ||
} else { } | ||
i++; | ||
// send file name string when all files was processed | ||
if (i === total) { | ||
res.json({ | ||
"state": "SUCCESS", | ||
"list": list, | ||
"start": 1, | ||
"total": total | ||
}); | ||
} | ||
}); | ||
}); | ||
}; | ||
callback(req, res, next); | ||
} else if (req.query.action === 'uploadimage'||req.query.action === 'uploadfile'||req.query.action === 'uploadvideo') { | ||
var busboy = new Busboy({ | ||
headers: req.headers | ||
}); | ||
busboy.on('file', function (fieldname, file, filename, encoding, mimetype) { | ||
req.ueditor = {}; | ||
req.ueditor.fieldname = fieldname; | ||
req.ueditor.file = file; | ||
req.ueditor.filename = filename; | ||
req.ueditor.encoding = encoding; | ||
req.ueditor.mimetype = mimetype; | ||
res.ue_up = function (img_url) { | ||
var tmpdir = path.join(os.tmpDir(), path.basename(filename)); | ||
var name = snowflake.nextId() + path.extname(tmpdir); | ||
var dest = path.join(static_url, img_url, name); | ||
var writeStream = fs.createWriteStream(tmpdir); | ||
file.pipe(writeStream); | ||
writeStream.on("close", function () { | ||
fse.move(tmpdir, dest, function (err) { | ||
if (err) throw err; | ||
res.json({ | ||
'url': path.join(img_url, name).replace(/\\/g,'/'), | ||
'title': req.body.pictitle, | ||
'original': filename, | ||
'state': 'SUCCESS' | ||
}); | ||
}); | ||
}) | ||
}; | ||
callback(req, res, next); | ||
}); | ||
req.pipe(busboy); | ||
} else { | ||
callback(req, res, next); | ||
} | ||
return; | ||
}; | ||
}; | ||
var ueditor = require('./lib') | ||
module.exports = ueditor; |
@@ -7,3 +7,3 @@ { | ||
}, | ||
"version": "1.2.0", | ||
"version": "1.2.1", | ||
"dependencies": { | ||
@@ -10,0 +10,0 @@ "busboy": "^0.2.9", |
@@ -75,2 +75,3 @@ #Node.js : ueditor | ||
// ueditor 客户发起上传图片请求 | ||
var imgDir = '/img/ueditor/' | ||
if(req.query.action === 'uploadimage'){ | ||
@@ -81,9 +82,9 @@ var foo = req.ueditor; | ||
var img_url = '/images/ueditor/'; | ||
res.ue_up(img_url); //你只要输入要保存的地址 。保存操作交给ueditor来做 | ||
res.ue_up(imgDir); //你只要输入要保存的地址 。保存操作交给ueditor来做 | ||
} | ||
// 客户端发起图片列表请求 | ||
else if (req.query.action === 'listimage'){ | ||
var dir_url = '/images/ueditor/'; | ||
res.ue_list(dir_url); // 客户端会列出 dir_url 目录下的所有图片 | ||
res.ue_list(imgDir); // 客户端会列出 dir_url 目录下的所有图片 | ||
} | ||
@@ -98,4 +99,41 @@ // 客户端发起其它请求 | ||
``` | ||
###多类型文件上传 (附件 视频 图片) | ||
```javascript | ||
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); //你只要输入要保存的地址 。保存操作交给ueditor来做 | ||
res.setHeader('Content-Type', 'text/html'); | ||
} | ||
//客户端发起图片列表请求 | ||
else if (ActionType === 'listimage'){ | ||
res.ue_list(imgDir); // 客户端会列出 dir_url 目录下的所有图片 | ||
} | ||
// 客户端发起其它请求 | ||
else { | ||
res.setHeader('Content-Type', 'application/json'); | ||
res.redirect('/ueditor/ueditor.config.json') | ||
}})); | ||
``` | ||
你可以来[ueditor:nodejs](http://blog.netpi.me/nodejs/ueditor-nodejs)给作者留言 | ||
3849487
132
61544
137