在node-ueditor進行拓展,通過多圖上傳直接將圖片保存到七牛雲。在保存的時候通過busboy包進行文件流保存
bug: 發現多張圖片上傳時候,部分圖片出現上傳失敗,或顯示出得圖片只有一半的情況。仔細查看代碼後,覺得應該是busboy進行文件保存的時候,還沒有保存完畢,就進行了七牛上傳。
bugFix:
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;
//scrawl
tmpdir = path.join(os.tmpDir(), path.basename(filename));
file.pipe(fs.createWriteStream(tmpdir));
});
busboy.on('finish', function(fieldname, file, filename, encoding, mimetype) {
res.ue_up = function (img_url) {
name = snowflake.nextId() + path.extname(tmpdir);
dest = path.join(static_url, img_url,type, name);
var prefix = type;
// 上傳文件
new Qiniu(res, tmpdir, prefix+name).uploadFile();
if(conf.savelocal) {
fse.move(tmpdir, dest, function(err) {
if(err) throw err;
})
}
}
callback(req, res, next);
});