自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器)中时,编辑器都无法自动上传图片。需要用户手动一张张上传Word图片。如果只有一张图片还能够接受,如果图片数量比较多,这种操作就显得非常的麻烦。

1、只粘贴图片并上传到服务器

config.extraPlugins = 'uploadimage';

//config.uploadUrl = '上传路径';

config.imageUploadUrl= '上传路径';

请求

文件上传的默认请求是一个文件,作为具有“upload”字段的表单数据。

响应:文件已成功上传

当文件成功上传时的JSON响应:

uploaded- 设置为1。

fileName - 上传文件的名称。

url - 上传文件的URL。

响应:文件无法上传

uploaded- 设置为0。

error.message - 要显示给用户的错误消息。

using System;

using System.Web;

using System.IO;

namespace WordPasterCK4

{

public partial class upload : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

string fname = Request.Form["UserName"];

int len = Request.ContentLength;

if (Request.Files.Count > 0)

{

DateTime timeNow = DateTime.Now;

string uploadPath = "/upload/" + timeNow.ToString("yyyyMM") + "/" + timeNow.ToString("dd") + "/";

string folder = Server.MapPath(uploadPath);

//自动创建目录

if (!Directory.Exists(folder)) Directory.CreateDirectory(folder);

HttpPostedFile file = Request.Files.Get(0);

//原始文件名称,由控件自动生成。

//md5.png,crc.png,uuid.png,sha1.png

string nameOri = file.FileName;

string ext = Path.GetExtension(nameOri).ToLower();

//只支持图片上传

if (    ext == ".jpg"

||  ext == ".jpeg"

||  ext == ".png"

||  ext == ".gif"

||  ext == ".bmp")

{

string filePathSvr = Path.Combine(folder, nameOri);

//

if(!Directory.Exists(filePathSvr)) file.SaveAs(filePathSvr);

Response.Write("http://10.168.4.209:83" + uploadPath + nameOri);

}

}

}

}

}

2、粘贴word里面的图片路径是fill://D 这种格式 我理解这种是非浏览器安全的 许多浏览器也不支持

目前项目是用了一种变通的方式:

先把word上传到后台 、poi解析、存储图片 、转换html、替换图片、放到富文本框里显示

(富文本显示有个坑:没找到直接给富文本赋值的方法 要先销毁 记录下

var WordPasterConfig = {

"EncodeType"           : "GB2312"

, "Company"                : "荆门泽优软件有限公司"

, "Version"                : "1,5,131,51655"

, "License2": ""

, "Debug"              : false//调试模式

, "LogFile"                : "f:\\log.txt"//日志文件路径

, "PasteWordType"      : "" //粘贴WORD的图片格式。JPG/PNG/GIF/BMP,推荐使用JPG格式,防止出现大图片。

, "PasteImageType"     : "" //粘贴文件,剪帖板的图片格式,为空表示本地图片格式。JPG/PNG/GIF/BMP

, "PasteImgSrc"            : "" //shape:优先使用源公式图片,img:使用word自动生成的图片

, "JpgQuality"         : "100"   //JPG质量。0~100

, "QueueCount"             : "5" //同时上传线程数

, "CryptoType"             : "crc"//名称计算方式,md5,crc,sha1,uuid,其中uuid为随机名称

, "ThumbWidth"             : "0" //缩略图宽度。0表示不使用缩略图

, "ThumbHeight"            : "0" //缩略图高度。0表示不使用缩略图

, "FileFieldName"      : "file"//自定义文件名称名称

, "ImageMatch"         : ""//服务器返回数据匹配模式,正则表达式,提取括号中的地址

, "FormulaDraw"             : "gdi"//公式图片绘制器,gdi,magick

, "AppPath"                 : ""

, "Cookie"                 : ""

, "Servers"             :[{"url":"www.ncmem.com"},{"url":"www.xproerui.com"}]//内部服务器地址(不下载此地址中的图片)

, "IcoError"            : "http://www.ncmem.com/products/word-imagepaster/ckeditor353/WordPaster/error.png"

, "IcoUploader"         : "http://www.ncmem.com/products/word-imagepaster/ckeditor353/WordPaster/upload.gif"

, "PostUrl"                : "http://www.ncmem.com/products/word-imagepaster/fckeditor2461/asp.net/upload.aspx"

//x86

, "ClsidParser"            : "2404399F-F06B-477F-B407-B8A5385D2C5E"

, "CabPath"                : "http://www.ncmem.com/download/WordPaster2/WordPaster.cab"

//x64

, "ClsidParser64"      : "7C3DBFA4-DDE6-438A-BEEA-74920D90764B"

, "CabPath64"          : "http://www.ncmem.com/download/WordPaster2/WordPaster64.cab"

//Firefox

, "XpiType"               : "application/npWordPaster2"

, "XpiPath"                : "http://www.ncmem.com/download/WordPaster2/WordPaster.xpi"

//Chrome

, "CrxName"                : "npWordPaster2"

, "CrxType"               : "application/npWordPaster2"

, "CrxPath"                : "http://www.ncmem.com/download/WordPaster2/WordPaster.crx"

//Edge

, edge: { protocol: "wordpaster", port: 9200, visible: false }

, "ExePath": "http://www.ncmem.com/download/WordPaster2/WordPaster.exe"

, "mac": {path: "http://www.ncmem.com/download/WordPaster2/WordPaster.exe"}

};

3、官方刚发表新版本说已经添加功能:

ckeditor编辑器批量上传的效果

图片已经上传到服务器端

图片地址已经替换过来了

可以看得出来,效果和用户体验都非常好。用户借助于此功能编辑功能得到大幅度提升了。

http://blog.ncmem.com/wordpress/2019/08/07/ckeditor%E7%B2%98%E8%B4%B4%E4%B8%8A%E4%BC%A0%E5%9B%BE%E7%89%87/

xhEditor实现ctrl+v粘贴word图片并上传的更多相关文章

  1. umeditor实现ctrl+v粘贴word图片并上传

    图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,找到UM ...

  2. wangEditor实现ctrl+v粘贴word图片并上传

    很多时候我们用一些管理系统的时候,发布新闻.公告等文字类信息时,希望能很快的将word里面的内容直接粘贴到富文本编辑器里面,然后发布出来.减少排版复杂的工作量. 下面是借用百度doc 来快速实现这个w ...

  3. ueditor实现ctrl+v粘贴word图片并上传

    图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码 目前限chrome浏览器使用,但是项目要求需要支持所有的浏览器,包括Windows和macOS系统.没有办 ...

  4. kindeditor实现ctrl+v粘贴word图片并上传

    Chrome+IE默认支持粘贴剪切板中的图片,但是我要发布的文章存在word里面,图片多达数十张,我总不能一张一张复制吧?Chrome高版本提供了可以将单张图片转换在BASE64字符串的功能.但是无法 ...

  5. ckeditor实现ctrl+v粘贴word图片并上传

    官网地址http://ueditor.baidu.com Git 地址 https://github.com/fex-team/ueditor 参考博客地址 http://blog.ncmem.com ...

  6. tinymce实现ctrl+v粘贴word图片并上传

    tinymce是很优秀的一款富文本编辑器,可以去官网下载.https://www.tiny.cloud 这里分享的是它官网的一个收费插件powerpaste的旧版本源码,但也不影响功能使用. http ...

  7. fckeditor实现ctrl+v粘贴word图片并上传

    tinymce是很优秀的一款富文本编辑器,可以去官网下载.https://www.tiny.cloud 这里分享的是它官网的一个收费插件powerpaste的旧版本源码,但也不影响功能使用. http ...

  8. ueditor+复制word+图片不能上传

    最近公司做项目需要实现一个功能,在网页富文本编辑器中实现粘贴Word图文的功能. 我们在网站中使用的Web编辑器比较多,都是根据用户需求来选择的.目前还没有固定哪一个编辑器 有时候用的是UEditor ...

  9. ckeditor粘贴word图片自动上传功能

    由于工作需要必须将word文档内容粘贴到编辑器中使用 但发现word中的图片粘贴后变成了file:///xxxx.jpg这种内容,如果上传到服务器后其他人也访问不了,网上找了很多编辑器发现没有一个能直 ...

随机推荐

  1. 1255: 打怪升级(Java)

    WUSTOJ 1255: 打怪升级 Description 对于多数RPG游戏来说,除了剧情就是打怪升级.本题的任务是用最短的时间取得所有战斗的胜利.这些战斗必须按照特定的顺序进行,每打赢一场,都可能 ...

  2. s5p6818裸机程序的设计:以GPIO为例

    为了调试方便,首先确保对于硬件的控制没有问题. Makefile # Makefile edited by Schips # 2019-06-21 schips@dingtalk.com # 文件类型 ...

  3. MogileFS表说明

    MogileFS大致的表说明如下 checksum:用来存放文件的校验和class:文件分类定义device:主机上的可用设备定义,包括设备可用空间,使用的权重等信息domain:域定义信息file: ...

  4. Swiper 轮播插件 之 动态加载无法滑动

    1.原因:轮播图未完全动态加载完成,即初始化 2.方法一:ajax链式编程 $.ajax({ type: "get", url: serviceURL + "/listB ...

  5. 减少打包组件vue.config.js——Webpack的externals的使用

    vue.config.js module.exports = { configureWebpack:{ externals: { vue: 'Vue', 'vue-router':'VueRouter ...

  6. Snort Inline IPS Mode

    Snort Inline IPS Mode https://forum.netgate.com/topic/143812/snort-package-4-0-inline-ips-mode-intro ...

  7. Citrix ADC 12.1 / NetScaler 12

    Citrix ADC 12.1 / NetScaler 12 参考 https://www.carlstalhood.com/netscaler-menu/netscaler-12/ Core – C ...

  8. pytorch神经网络实现的基本步骤

    转载自:https://blog.csdn.net/dss_dssssd/article/details/83892824 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载 ...

  9. Pyhon中迭代器与生成器

    迭代器 我们知道,可以直接用for循环的数据类型有以下几种: 一类是集合数据类型:list.tuple.dict.set.str等 一类是generator:包括生成器和带yield的generato ...

  10. 6.Redis的事务

    Redis的事务(Redis部分支持事务) a)是什么 可以一次执行多个命令,本质是一组命令的集合.一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞 b)能干吗 一个( ...