首页 > 其他分享 >ckeditor配置及功能实现详解

ckeditor配置及功能实现详解

时间:2022-11-07 14:13:32浏览次数:76  
标签:http ckeditor 配置 imgFile 详解 ue pasterMgr com page

 这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用

后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下)

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@

     page contentType="text/html;charset=utf-8"%><%@

     page import = "Xproer.*" %><%@

     page import="org.apache.commons.lang.StringUtils" %><%@

     page import="org.apache.commons.fileupload.*" %><%@

     page import="org.apache.commons.fileupload.disk.*" %><%@

     page import="org.apache.commons.fileupload.servlet.*" %><%

boolean isMultipart = ServletFileUpload.isMultipartContent(request);

FileItemFactory factory = new DiskFileItemFactory();  

ServletFileUpload upload = new ServletFileUpload(factory);

List files = null;

try

{

     files = upload.parseRequest(request);

}

catch (FileUploadException e)

{

    out.println("上传文件异常:"+e.toString());

    return;

}

 

FileItem imgFile = null;

Iterator fileItr = files.iterator();

while (fileItr.hasNext())

{

     imgFile = (FileItem) fileItr.next();

     if(imgFile.isFormField())

     {

         String fn = imgFile.getFieldName();

         String fv = imgFile.getString();

         if(fn.equals("uname")) uname = fv;

         if(fn.equals("upass")) upass = fv;

     }

     else

     {

         break;

     }

}

Uploader up = new Uploader(pageContext,request);

up.SaveFile(imgFile);

String url = up.GetFilePathRel();

out.write(url);

response.setHeader("Content-Length",url.length()+"");

%>

 

配置web.xml

 <?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5"

    xmlns="http://java.sun.com/xml/ns/javaee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

</web-app>

 

前端(页面)测试代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

     <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>

     <title>WordPaster-jsp-ueditor-1.2.6.0</title>

     <script type="text/javascript" src="ueditor.config.js" charset="utf-8"></script>

     <script type="text/javascript" src="ueditor.all.min.js" charset="utf-8"></script>

     <link type="text/css" rel="Stylesheet" href="WordPaster/css/WordPaster.css"/>

    <link type="text/css" rel="Stylesheet" href="WordPaster/js/skygqbox.css" />

    <script type="text/javascript" src="WordPaster/js/json2.min.js" charset="utf-8"></script>

    <script type="text/javascript" src="WordPaster/js/jquery-1.4.min.js" charset="utf-8"></script>

    <script type="text/javascript" src="WordPaster/js/w.edge.js" charset="utf-8"></script>

    <script type="text/javascript" src="WordPaster/js/w.app.js" charset="utf-8"></script>

    <script type="text/javascript" src="WordPaster/js/w.file.js" charset="utf-8"></script>

    <script type="text/javascript" src="WordPaster/js/skygqbox.js" charset="utf-8"></script>

    <script type="text/javascript" src="WordPaster/js/WordPaster.js" charset="utf-8"></script>

</head>

<body>

     <textarea name="后台取值的key" id="myEditor">这里写你的初始化内容</textarea>

     <script type="text/javascript">

        var pasterMgr = new WordPasterManager();

        //pasterMgr.Config["PostUrl"] = "http://www.ncmem.com/products/upload_ori.aspx"

    pasterMgr.Config["PostUrl"] = "http://localhost:8080/WordPaster2UEditor1.4x/upload.jsp"

    //pasterMgr.Config["PostUrl"] = "http://cloud.dyso.cn/ueditor/upload.jsp"

    pasterMgr.Load();//加载控件

 

        var ue = UE.getEditor('myEditor');

        

         ue.ready(function() {

             //设置编辑器的内容

             ue.setContent('hello');

             //获取html内容,返回: <p>hello</p>

             var html = ue.getContent();

             //获取纯文本内容,返回: hello

             var txt = ue.getContentTxt();

             pasterMgr.SetEditor(ue);

         });

                  

     </script>

</body>

</html>

实现后的效果,能够批量上传word中的全部图片,大幅度提升图片上传效率。而且能够保留Word样式。

所有代码已经全部传到网上,有需要的朋友可以直接下载使用,http://blog.ncmem.com/wordpress/2019/08/07/javaword图片上传控件/

编辑

 

图片上传完后,编辑器里面的图片地址也全部都改成了服务器的图片地址了,

编辑

示例下载,下载前选择合适的语言版本:

https://gitee.com/xproer/wordpaster-php-ckeditor4x

https://gitee.com/xproer/wordpaster-jsp-ckeditor4x

https://gitee.com/xproer/wordpaster-asp.net-ckeditor4x

https://gitee.com/xproer/wordpaster-asp-ckeditor4x

https://gitee.com/xproer/wordpaster-vue-ckeditor5

 


标签:http,ckeditor,配置,imgFile,详解,ue,pasterMgr,com,page
From: https://www.cnblogs.com/zyzzz/p/16865729.html

相关文章

  • nginx 代理mongodb redis 配置
    worker_processes1;events{worker_connections1024;}stream{ upstreamapp-ssh{ server192.168.25.130:22; } upstreamapp-redis{ serve......
  • mysql的配置
    从官网下载MySQL5.7版本的zip文件压缩放到自己的文件夹下复制MySQL文件下bin目录的路径我的电脑>属性>高级>环境变量找到下面框的PATH编辑,添加把复制好的路径粘贴上......
  • 个人学习WCF笔记2——[转][老老实实学WCF] 第二篇 配置WCF
    PS:1)学习如何配置WCF。2)需要了解[老老实实学WCF]其他内容的可以前往https://blog.csdn.net/songyefei/category_1101849.html3)后面会参考学习其他的网上资料,进一步对如......
  • VNC配置
    Followthesesteps:Installgnome-session-flashback:sudoaptinstallgnome-session-flashbackAddthisto~/.vnc/xstartup:#!/bin/shautocutsel-forkx......
  • Nginx操作:显示代理IP与配置多个静态文件
    今天使用Nginx,排查一个问题,负载过程,登陆应用提示“暂无权限”!需要查看负载真实IP信息就有了这篇记录。先上脚本:#add_headerbackendIP$upstream_add......
  • docker容器配置独立ip
    一般安装docker后都会通过端口转发的方式使用网络,比如“-p2294:22”就将2294抓发到22端口来提供sftp服务,这样使用起来没有问题。但端口号很难记忆,如果前边有nginx等......
  • IDEA配置toString方法
    1、toStringJSON带父类toStringpublicjava.lang.StringtoString(){finaljava.lang.StringBuildersb=newjava.lang.StringBuilder("{");#set($i=0)#foreach($me......
  • ckeditor提供word文档转码功能
    ​ 自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑......
  • 系统整理K8S的配置管理实战-建议收藏系列
    目录一、ConfigMap1.1、创建1.1.1、from-file1.1.2、from-env-file1.1.3、from-literal1.1.4、基于yaml文件创建1.2、Pod使用ConfigMap1.2.1、valueFrom1.2.2、envFrom1.2.......
  • SetWindowPos函数详解
    1//声明:2SetWindowPos(3hWnd:HWND;{窗口句柄}4hWndInsertAfter:HWND;{窗口的Z顺序}5X,Y:Integer;{位置}6cx,cy:Integer;{大小}7uFlags:UINT{......