(原) Bootstrap 可视化HTML编辑器,summernote 图片上传到服务器磁盘
来源:互联网 发布:windows登录界面壁纸 编辑:程序博客网 时间:2024/06/06 00:32
前台
html<div id="editor" class="col-sm-8"></div>js//加载编辑器$(document).ready(function () { //类型下拉框值 var sType = ""; $("#type").change(function () { sType = $("#type").val(); }); $('#editor').summernote({ height: 400, minHeight: 300, maxHeight: 500, focus: true, lang: 'zh-CN', // 重写图片上传 callbacks: { onImageUpload: function (files, editor, $editable) { sendFile(files[0], editor, $editable); } } }); //保存 $("#save_button").click(function () { if ($('#editor').summernote('code').length < 20000) { $.ajax({ url: "/*", type: "POST", dataType: "json", data: { title: $("#title").val(), publishPerson: $("#publishPerson").val(), content: $('#editor').summernote('code'), publishTypeId: publishTypeId, type: sType, remark: $("#remark").val() }, success: function (result) { if (result > 0) layer.alert("发布成功!"); else layer.alert("发布失败!"); } }); } else { layer.alert("内容超过长度限制!"); } })});//图片上传function sendFile(file, editor, $editable) { var filename = false; try { filename = file['name']; } catch (e) { filename = false; } if (!filename) { $(".note-alarm").remove(); } //以上防止在图片在编辑器内拖拽引发第二次上传导致的提示错误 data = new FormData(); data.append("file", file); data.append("key", filename); //唯一性参数 $.ajax({ data: data, type: "POST", url: "/*", //后台图片上传地址 cache: false, dataType : "json", contentType: false, processData: false, success: function (url) { var path = url.path; $('#editor').summernote('insertImage', url.path, filename); }, error: function () { alert("上传失败!"); } });}
后台
@RequestMapping(value = "/upload", produces = "text/html;charset=UTF-8")@ResponseBodypublic String addFile(HttpServletRequest request) throws Exception { Map<String, Object> map = new HashMap<String, Object>(); CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver( request.getSession().getServletContext()); if (multipartResolver.isMultipart(request)) { MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; Iterator<String> iter = multiRequest.getFileNames(); while (iter.hasNext()) { MultipartFile file = multiRequest.getFile(iter.next()); if (file != null) { String myFileName = file.getOriginalFilename(); if (myFileName.trim() != "") { String fileName = file.getOriginalFilename(); String fileBaseName = fileName.substring(0, fileName.lastIndexOf(".")); String fileExt = fileName.substring( fileName.lastIndexOf(".") + 1).toLowerCase(); SimpleDateFormat df = new SimpleDateFormat( "yyyyMMddHHmmss"); String newFileName = df.format(new Date()); String fileNames = newFileName + new Random().nextInt(1000) + "." + fileExt; String filePath = request.getSession().getServletContext() .getRealPath("/") + "\\upload\\" + fileNames; File localFile = new File(filePath); if (!localFile.exists()) {// 如果文件夹不存在,自动创建 localFile.mkdirs(); } file.transferTo(localFile); fileNames = "*" + fileNames; //* == 前台读取文件方式路径 map.put("name", fileBaseName); map.put("path", fileNames); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(map); return json; } } } } return "";}
记录一下 不喜勿喷。
html<div id="editor" class="col-sm-8"></div>js//加载编辑器$(document).ready(function () { //类型下拉框值 var sType = ""; $("#type").change(function () { sType = $("#type").val(); }); $('#editor').summernote({ height: 400, minHeight: 300, maxHeight: 500, focus: true, lang: 'zh-CN', // 重写图片上传 callbacks: { onImageUpload: function (files, editor, $editable) { sendFile(files[0], editor, $editable); } } }); //保存 $("#save_button").click(function () { if ($('#editor').summernote('code').length < 20000) { $.ajax({ url: "/*", type: "POST", dataType: "json", data: { title: $("#title").val(), publishPerson: $("#publishPerson").val(), content: $('#editor').summernote('code'), publishTypeId: publishTypeId, type: sType, remark: $("#remark").val() }, success: function (result) { if (result > 0) layer.alert("发布成功!"); else layer.alert("发布失败!"); } }); } else { layer.alert("内容超过长度限制!"); } })});//图片上传function sendFile(file, editor, $editable) { var filename = false; try { filename = file['name']; } catch (e) { filename = false; } if (!filename) { $(".note-alarm").remove(); } //以上防止在图片在编辑器内拖拽引发第二次上传导致的提示错误 data = new FormData(); data.append("file", file); data.append("key", filename); //唯一性参数 $.ajax({ data: data, type: "POST", url: "/*", //后台图片上传地址 cache: false, dataType : "json", contentType: false, processData: false, success: function (url) { var path = url.path; $('#editor').summernote('insertImage', url.path, filename); }, error: function () { alert("上传失败!"); } });}
@RequestMapping(value = "/upload", produces = "text/html;charset=UTF-8")@ResponseBodypublic String addFile(HttpServletRequest request) throws Exception { Map<String, Object> map = new HashMap<String, Object>(); CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver( request.getSession().getServletContext()); if (multipartResolver.isMultipart(request)) { MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; Iterator<String> iter = multiRequest.getFileNames(); while (iter.hasNext()) { MultipartFile file = multiRequest.getFile(iter.next()); if (file != null) { String myFileName = file.getOriginalFilename(); if (myFileName.trim() != "") { String fileName = file.getOriginalFilename(); String fileBaseName = fileName.substring(0, fileName.lastIndexOf(".")); String fileExt = fileName.substring( fileName.lastIndexOf(".") + 1).toLowerCase(); SimpleDateFormat df = new SimpleDateFormat( "yyyyMMddHHmmss"); String newFileName = df.format(new Date()); String fileNames = newFileName + new Random().nextInt(1000) + "." + fileExt; String filePath = request.getSession().getServletContext() .getRealPath("/") + "\\upload\\" + fileNames; File localFile = new File(filePath); if (!localFile.exists()) {// 如果文件夹不存在,自动创建 localFile.mkdirs(); } file.transferTo(localFile); fileNames = "*" + fileNames; //* == 前台读取文件方式路径 map.put("name", fileBaseName); map.put("path", fileNames); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(map); return json; } } } } return "";}
记录一下 不喜勿喷。
0 0
- (原) Bootstrap 可视化HTML编辑器,summernote 图片上传到服务器磁盘
- Bootstrap 可视化HTML编辑器,summernote
- Bootstrap 可视化编辑器summernote
- 修改Summernote文本编辑器支持上传图片到服务器
- summernote上传图片到本地服务器(node.js)
- summernote 上传图片给服务器
- summernote处理上传图片到自己的服务器
- HTML5-bootstrap summernote 编辑器
- summernote图片上传功能保存到服务器指定文件夹+php代码+java方法
- bootstrap fileinput 组件整合SpringMVC上传图片到本地磁盘
- 百度ueditor编辑器将图片上传到非项目根路径(保存在磁盘上)或独立服务器解决方案
- Summernote实现图片上传功能
- 基于bootstrap的编辑器summernote学习一
- 基于bootstrap的编辑器summernote学习二
- 基于bootstrap的编辑器summernote学习三
- Summernote – 基于 Bootstrap 的文本编辑器
- Summernote – 基于 Bootstrap 的文本编辑器
- bootstrap插件summernote 编辑器 的使用
- Android性能优化之内存篇
- android LayerDrawable转Drawable
- 快速关闭cmd窗口
- cpp 7.9
- 从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0
- (原) Bootstrap 可视化HTML编辑器,summernote 图片上传到服务器磁盘
- 序
- Ubuntu 16.04 L2pt
- Hadoop基础学习(一)
- NAND FLASH读写速度计算方法详解
- RecyclerView的万能Adapter和ViewHolder
- 把C++类成员方法直接作为线程回调函数
- LLDB远程动态调试三方app
- leetcode-36. Valid Sudoku