summernote上传图片到本地服务器(node.js)
来源:互联网 发布:淘宝优惠券采集软件 编辑:程序博客网 时间:2024/06/05 16:27
序言
本文围绕富文本编辑器插件summernote,从html引入、图片上传的jquery配置(包含summernote所有的初始化操作及ajax设置)、nodejs版的后台图片保存等方面介绍了summernote上传图片到本地服务器整个流程,大家有不清楚的地方,请多多提问。
html引入
summernote是基于bootstrap框架的,故需要先引入bootstrap。代码引入多为本地路径,大家可以根据需要进行更改。
<link href="/css/bootstrap.min.css" rel="stylesheet"><link href="/css/summernote.css" rel="stylesheet"><script type="text/javascript" src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script><script type="text/javascript"src="/js/bootstrap.min.js"></script><!-- 富文本编辑器 --><script type="text/javascript" src="/js/summernote.min.js"></script><script type="text/javascript" src="/js/summernote-zh-CN.js"></script><div id="summernote"></div>
summernote初始化配置
本例只考虑单个图片上传,故只读取fils[0]中的图片文件,若需批量上传,笔者只需改为循环遍历模式即可。
$('#summernote').summernote({ lang: 'zh-CN', Height: 400, placeholder: '请输入文本...', toolbar: [ // [groupName, [list of button]] ['style', ['bold', 'italic', 'underline', 'clear']], ['font', ['strikethrough', 'superscript', 'subscript']], ['fontsize', ['fontname', 'fontsize', 'color']], ['para', ['ul', 'ol', 'paragraph', 'height']], ['insert', ['table', 'link', 'picture', 'video']], ['help', ['help']] ], callbacks: { onImageUpload: function (files) { var imageData = new FormData(); imageData.append("imageData", files[0]); $.ajax({ data: imageData, type: "POST", url: "/report/uploadImage", cache: false, contentType: false, processData: false, success: function (result) { if (result.status = "success") { var imgNode = document.createElement("img"); //读取后台返回的图片url imgNode.src = result.imageUrl; $('#summernote').summernote('insertNode', imgNode); } }, error: function () { alert("上传图片失败"); } }); } } });
node.js后端逻辑
1 app.js
var express = require('express');var report = require('./routes/report');app.use(express.static(path.join(__dirname, 'public')));app.use('/report', report);
2 report.js
var express = require('express');var multiparty = require('multiparty');//大文件上传中间件var moment = require('moment');//时间格式化中间件var router = express.Router();router.post('/uploadImage', function (req, res) { //生成multiparty对象,并配置上传目标路径 var form = new multiparty.Form({uploadDir: 'public/images/reportImages/'}); //上传完成后处理 form.parse(req, function (err, fields, files) { if (err) { console.log('parse error: ' + err); } else { //注意imageData仍为文件数组类型 var imageFile = (files.imageData)[0]; var uploadedPath = imageFile.path; //图片名称为上传时间+图片本名 var imageName = moment(Date.now()).format("YYYY年MM月DD日HH时mm分ss秒") + imageFile.originalFilename; var dstPath = 'public/images/reportImages/' + imageName; //重命名为真实文件名 fs.rename(uploadedPath, dstPath, function (err) { if (err) { console.log('rename error: ' + err); } else { var result = {}; result.status = "success"; result.imageUrl = "/images/reportImages/" + imageName; res.status(200).send(result); res.end(); } }); } });});
阅读全文
0 0
- summernote上传图片到本地服务器(node.js)
- node.js 用户上传图片到服务器
- summernote 上传图片给服务器
- 修改Summernote文本编辑器支持上传图片到服务器
- summernote处理上传图片到自己的服务器
- (原) Bootstrap 可视化HTML编辑器,summernote 图片上传到服务器磁盘
- summernote图片上传功能保存到服务器指定文件夹+php代码+java方法
- node.js 上传东西到服务器 express
- struts2 上传本地图片到服务器
- JAVA,本地上传图片到服务器
- Android上传图片到本地服务器
- Spring mvc上传图片到本地服务器
- html5 本地裁剪图片上传到服务器
- node.js下载图片到服务器
- java从服务器上传本地图片到图片服务器
- java从服务器上传本地图片到图片服务器
- php上传本地图片到本地或者服务器上
- Node.Js上传图片
- JavaScript 基础知识
- 笔记:新手的Hive指南
- 单词数
- HDU4055 (dp计数)
- DLL重载
- summernote上传图片到本地服务器(node.js)
- HDU1166敌兵布阵&POJ 3468 A Simple Problem with Integers题解
- CMake 入门实战(转)
- springmvc制定格式日期传入数据库报错问题
- 凸函数2(斯坦福凸优化笔记6)
- 分分钟手摸手带你做自己的maven库
- Linux学习——shell编程之运算符
- MPEG编码
- linux下载mysql数据库