CKEditor编辑器的工具栏中初始的时候应该是这样子的,没有图片上传按钮
并且预览中有一堆火星文,可以修改相应配置删除它。
第一种方法:打开ckeditor/plugins/image/dialogs/image.js文件,搜索“b.config.image_previewText”,(b.config.image_previewText||'')单引号中的内容全删了,注意别删多了。(由于ckeditor的很多js文件都是压缩过的,格式很难看,很容易删错,所以不推荐此种方法)
第二种方法:打开config.js文件,加入下面一句话
config.image_previewText=' '; //预览区域显示内容
接下来就是action中的上传方法:
config.js
最后上传图片成功
下面研究图片上传
要想出现上传按钮,两种方法
第一种:还是刚才那个image.js
搜索“upload”可以找到这一段 id:'Upload',hidden:true,而我使用的4.3的是
搜索“upload”可以找到这一段 id:'Upload',hidden:true,而我使用的4.3的是
id:"Upload",hidden:!0,反正改为false就行了,(遗憾的是此种方法对我这个版本不起作用)
第二种:打开config.js文件,加入下面一句话
config.filebrowserImageUploadUrl= "admin/UserArticleFileUpload.do"; //待会要上传的action或servlet
OK现在基本上是下面这个样子的了
OK现在基本上是下面这个样子的了
上面的只是一个上传页面。也就相当于一个HTML的form表单,
要配置点击"上传到服务器上"按钮后请求的Action。已在ckeditor/config.js中配置。
就是上面的 config.filebrowserImageUploadUrl = "admin/UserArticleFileUpload.do";
可使用chrome审查元素查看代码
接下来就是action中的上传方法:
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.io.PrintWriter;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.struts2.ServletActionContext;
- public class ImgUploadAction {
- private File upload; // 文件
- private String uploadContentType; // 文件类型
- private String uploadFileName; // 文件名
- /**
- * 图片上传
- *
- * @return
- * @throws IOException
- */
- public String imgUpload() throws IOException {
- // 获得response,request
- HttpServletResponse response = ServletActionContext.getResponse();
- HttpServletRequest request = ServletActionContext.getRequest();
- response.setCharacterEncoding("utf-8");
- PrintWriter out = response.getWriter();
- // CKEditor提交的很重要的一个参数
- String callback = request.getParameter("CKEditorFuncNum");
- String expandedName = ""; // 文件扩展名
- if (uploadContentType.equals("image/pjpeg")
- || uploadContentType.equals("image/jpeg")) {
- // IE6上传jpg图片的headimageContentType是image/pjpeg,而IE9以及火狐上传的jpg图片是image/jpeg
- expandedName = ".jpg";
- } else if (uploadContentType.equals("image/png")
- || uploadContentType.equals("image/x-png")) {
- // IE6上传的png图片的headimageContentType是"image/x-png"
- expandedName = ".png";
- } else if (uploadContentType.equals("image/gif")) {
- expandedName = ".gif";
- } else if (uploadContentType.equals("image/bmp")) {
- expandedName = ".bmp";
- } else {
- out.println("<script type=\"text/javascript\">");
- out.println("window.parent.CKEDITOR.tools.callFunction(" + callback
- + ",''," + "'文件格式不正确(必须为.jpg/.gif/.bmp/.png文件)');");
- out.println("</script>");
- return null;
- }
- if (upload.length() > 600 * 1024) {
- out.println("<script type=\"text/javascript\">");
- out.println("window.parent.CKEDITOR.tools.callFunction(" + callback
- + ",''," + "'文件大小不得大于600k');");
- out.println("</script>");
- return null;
- }
- InputStream is = new FileInputStream(upload);
- //图片上传路径
- String uploadPath = ServletActionContext.getServletContext().getRealPath("/img/uploadImg");
- String fileName = java.util.UUID.randomUUID().toString(); // 采用时间+UUID的方式随即命名
- fileName += expandedName;
- File file = new File(uploadPath);
- if (!file.exists()) { // 如果路径不存在,创建
- file.mkdirs();
- }
- File toFile = new File(uploadPath, fileName);
- OutputStream os = new FileOutputStream(toFile);
- byte[] buffer = new byte[1024];
- int length = 0;
- while ((length = is.read(buffer)) > 0) {
- os.write(buffer, 0, length);
- }
- is.close();
- os.close();
- // 返回"图像"选项卡并显示图片 request.getContextPath()为web项目名
- out.println("<script type=\"text/javascript\">");
- out.println("window.parent.CKEDITOR.tools.callFunction(" + callback
- + ",'" + request.getContextPath() + "/img/uploadImg/" + fileName + "','')");
- out.println("</script>");
- return null;
- }
- public File getUpload() {
- return upload;
- }
- public void setUpload(File upload) {
- this.upload = upload;
- }
- public String getUploadContentType() {
- return uploadContentType;
- }
- public void setUploadContentType(String uploadContentType) {
- this.uploadContentType = uploadContentType;
- }
- public String getUploadFileName() {
- return uploadFileName;
- }
- public void setUploadFileName(String uploadFileName) {
- this.uploadFileName = uploadFileName;
- }
- }
config.js
- CKEDITOR.editorConfig = function( config ) {
- config.image_previewText=' '; //预览区域显示内容
- config.filebrowserImageUploadUrl= "ImgUpload.action"; //要上传的action或servlet
- };
最后上传图片成功
相关推荐
近日要用到CKEditor实现图片上传,网上找了好多代码,要么跑不起来,要么不全,比如不知道如何返回值。跳了不少坑,现在彻底搞定。 目前上传用的是ASP.NET,可以随便切换成PHP、JAVA或其它的语言 只需要把ckeditor...
本文将深入探讨如何将CKEditor与图片上传功能整合,以实现用户在编辑过程中直接上传图片。 一、CKEditor简介 CKEditor是一款功能强大的在线文本编辑器,支持多种语言,广泛用于网站内容管理、论坛和博客等。它提供...
**ckeditor自定义上传图片** 在使用ckeditor作为富文本编辑器时,经常需要集成图片上传功能。ckeditor是一款强大的在线文本编辑器,它提供了丰富的文本格式化工具,使得在网页上编辑内容变得简单。然而,ckeditor...
本篇文章将重点讲解如何在CKEditor中实现图片上传功能,并将上传的图片记录到数据库中。 首先,我们需要理解CKEditor中的图片上传流程。当用户在编辑器中选择插入图片时,CKEditor会调用一个服务器端的脚本来处理...
当用户选择上传图片时,CKEditor会通过Ajax或表单提交方式将图片数据发送到服务器端。因此,实现图片上传的关键在于配置CKEditor的上传插件以及后端处理图片上传的Java代码。 1. **配置CKEditor**: - 首先,要在...
1. **添加上传按钮**:首先,你需要在CKEditor的工具栏上添加一个用于上传图片的按钮。这可以通过修改配置文件或者直接在初始化CKEditor时添加按钮代码实现。例如,你可以在配置文件中添加以下代码: ```...
"ckeditor上传图片"这个主题主要涉及的是CKEditor与服务器端交互,实现图片的上传功能。下面我们将深入探讨这个知识点。 首先,`ckeditorUploadImgApi.java`和`ckeditorUploadImgController.java`是Java后端处理...
在本文中,我们将深入探讨CKEditor如何实现图片的多张上传功能,并结合ASP.NET MVC框架进行数据库操作,包括增、删、查、改等基本功能。 首先,CKEditor的图片上传功能通常通过其插件`CKFinder`实现。`CKFinder`是...
总结来说,通过Java和Struts框架,我们可以有效地处理CKEditor的图片上传请求,将前端提交的图片保存到服务器,并返回相应的响应,从而实现富文本编辑器中的图片上传功能。这不仅提高了用户体验,也为网站内容管理...
在"ckeditor 图片图片本地上传"这个主题中,我们将深入探讨如何在CKEditor中实现图片的本地上传功能,这通常涉及到服务器端的处理,如Servlet。 首先,我们需要理解CKEditor的图片上传机制。CKEditor通过内置的文件...
CKEditor的一个重要特性是支持用户直接在编辑器内部上传图片和文件,提高了内容创作的效率。本文将详细讲解如何在CKEditor中实现图片和文件的上传功能,并探讨相关的核心知识点。 首先,`ckeditorUploadImgApi.java...
Java版本的CKeditor图片上传浏览服务端组件则是针对Java开发者设计的,用于处理CKeditor中的图片上传请求,并且与之配合实现图片预览。 该组件的核心功能包括: 1. **图片上传**:当用户在CKeditor中选择插入图片...
在CKEditor中,图片上传功能是通过与服务器端的交互来实现的,而这个交互过程通常涉及到一个后端处理文件。在本案例中,我们关注的是一个基于PHP编写的服务器端处理文件——`upload.php`,它专门用于处理CKEditor的...
在ASP.NET应用中,CKEditor5是一款常用的富文本编辑器,它提供了丰富的文本格式化功能,包括图片上传。本文将详细介绍如何在ASP.NET环境中集成CKEditor5并实现图片上传功能。 首先,我们需要在项目中引入CKEditor5...
在ASP.NET环境中集成CKEditor并实现图片上传功能是一项常见的需求,尤其对于内容管理或博客系统而言。CKEditor是一款强大的富文本编辑器,它允许用户在网页上编辑HTML内容,包括插入图片、链接、表格等元素。下面将...
Ckeditor上传图片!本身Ckeditor不具备上传图片功能的!前两天在一个博客园的一个博主那里讨了点Ckeditor上传图片的方法,现在共享给大家!博主的博客地址和实现方式我压缩在文件中了!大家支持正版哈!
例如,我们可以在`config.js`中添加以下代码来开启上传图片的插件: ```javascript config.filebrowserImageUploadUrl = '/struts/ckupload.action'; ``` 这里,`/struts/ckupload.action`是Struts2的Action路径,...
return cb(new Error('只允许上传图片或视频文件')); } cb(null, true); }, }); app.post('/api/upload', upload.single('upload'), (req, res) => { const { filename } = req.file; res.json({ success: ...
用自定义图片上传按钮代替原来的图片上传按钮,实现即时上传插入。覆盖原ckeditor。修改ckeditor.js中imgupload()的上传接口路径。根据接口返回自定义 success: function 中的代码解析出图片路径。
在IT行业中,富文本编辑器CKEditor 4是一款广泛应用的在线文本编辑工具,它提供了丰富的功能,如格式化、图片上传、链接插入等,极大地提升了用户在网页上的文本编辑体验。"ckeditor4添加上传视频插件"这个主题,是...