• FCKEditor 实现ctrl+v粘贴图片并上传、word粘贴带图片


    这种方法是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图片上传控件/

    讨论群:223813913

  • 相关阅读:
    【翻译】为了3D游戏粉丝的[(超级)街头霸王4]图形讲座(后篇)
    【翻译】【西川善司】GPU和Shader技术的基础知识 (一共有99回,翻译中)
    Shader Compilation for Multiple Platforms
    【翻译】西川善司为3D游戏粉丝的[索尼克世界大冒险]的图形讲座 3D游戏图形趋势是实时的全局照明
    【翻译】CAPCOM的[MT Framework 2.0]图形讲座
    【翻译】创造让人敬畏的未来SQUARE ENIX的次世代游戏引擎[Luminous Studio]
    业务逻辑层的Helper基类
    漫谈.Net中对象相等
    对微软Web Deploy的一次艰难调试
    在Asp.Net中缓存Ado.Net Entity
  • 原文地址:https://www.cnblogs.com/songsu/p/14049573.html
Copyright © 2020-2023  润新知