转载自https://blog.csdn.net/jimmy0021/article/details/73251406

我已经忘记我是不是从这个博主的那里找到的解决kindeditor粘贴图片的方法了,因为上次处理这个问题已经快半年了.以下是正文

KindEditor4.1.10,使得他能够在Chrome和IE11中直接粘贴复制的图片(比如通过截图工具把图片直接保存在剪切板中),然后调用上传URL上传图片

方法,修改kindeditor.js中的代码:

在5825行附近大概是下面这个样子的:

 K(doc.body).bind('paste', function (e) {
if (self.pasteType === 0) {
e.stop();
return;
}

在第1行和第2行之间插入:

 //处理IE11,Chrome粘贴图片上传
function dopasteImg() {
//debugger;
var file = null;
if (window.clipboardData) {//ie if (clipboardData.files && clipboardData.files.length)//IE11
file = clipboardData.files[0];
else if (!clipboardData.getData("text") && !clipboardData.getData("url")) {
alert("不能粘贴文件或图片,请使用IE11或者Chrome浏览器,或使用上传功能");
return true;
}
} else {
if (e.event.clipboardData.items)//chrome
for (var i = 0; i < e.event.clipboardData.items.length; i++) {
if (e.event.clipboardData.items[i].kind === "file") {
file = e.event.clipboardData.items[i];
break;
}
}
if (file == null) { if (!e.event.clipboardData.getData("url") && !e.event.clipboardData.getData("text")) {
alert("不能粘贴文件或图片,请使用IE11或者Chrome浏览器,或使用上传功能");
return true;
}
}
}
if (file) {
if (!K.undef(self.allowImageUpload, true)) {
alert("编辑器禁止上传图片,请与有关人员联系!");
return true;
}
//获取File Blob
//debugger;
var blb;
if (file.getAsFile) {//Chrome
blb = file.getAsFile();
if (blb.size === 0) {
alert("不能获取剪切板中的" + (file.type.indexOf("image/") === 0 ? "图像" : "文件")
+"\n如果是从OutLook中复制的,请换其他程序,如Word");
return true;
}
sendfile(blb, file.type);
} else {
var fr = new FileReader();
if (fr.readAsArrayBuffer) {//ie fr.onloadend = function (evt) {
blb = evt.target.result;
sendfile(blb, file.type);
} fr.readAsArrayBuffer(file);
}
}
function sendfile(b, t) { var xhr = new XMLHttpRequest();
var formData = new FormData();
var isImg = t.indexOf("image/") === 0;
//formData.append('imgFile', file,"untitled." + t.split('/')[1]);
//formData.append('imgFile', b);
var myBlob = new Blob([b], { "type": t });
formData.append('imgFile', myBlob, "untitled." + t.split('/')[1]);
//formData.append('imgFile', b);
formData.append('dir', isImg ? 'image' : 'file');
xhr.open('POST', self.uploadJson);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4&&xhr.status == 200) {
// if (fn) {
var data = _trim(xhr.responseText);
//if (dataType == 'json') {
data = _json(data);
if (data.error) {
if (typeof ($) !== "undefined" && $.messager && $.messager.alert) {
$.messager.alert('Error', data.message, 'warning'); } else {
alert(data.message);
}
} else {
//self.exec('insertimage', url, title, width, height, border, align);
if(K.undef(self.formatUploadUrl, true))
data.url =K.formatUrl(data.url, 'absolute');
self.exec('insertimage', data.url, "from clipboard", undefined, undefined, undefined, undefined);
}
//}
// fn(data);
// }
}
}
xhr.send(formData);
}
return true;
}
}
//debugger;
if (dopasteImg())
e.stop();
//处理粘贴结束5825

亲测chrome有效,如果你的tomcat配置了去除项目名之类的,那么可能就无法粘贴图片了

KindEditor4.1.10,支持粘贴图片的更多相关文章

  1. KindEditor4.1.10,支持粘贴图片(转载!)

    本人扩展了KindEditor4.1.10,使得他能够在Chrome和IE11中直接粘贴复制的图片(比如通过截图工具把图片直接保存在剪切板中),然后调用上传URL上传图片 方法,修改kindedito ...

  2. kindeditor-4.1.10 结合 Asp.Net MVC 添加图片功能

    KindEditor是一套开源的HTML可视化编辑器,现在我要结合Asp.Net MVC4 上传图片功能,做相应的配置和修改, 其实网上也有人写过类似的文章了,我写出来是以防以后使用的时候出现这样的问 ...

  3. 让input支持 ctrl v上传粘贴图片? 让input支持QQ截图或剪切板中的图像数据(Java实现保存)

    原理:监听粘贴 → 获取粘贴内容 → 将内容上传 → 抓取后返回替换至input 我们在生产中用到的界面: 测试地址 http://sms.reyo.cn 用户名:aa 密码:123456 以下是PH ...

  4. Ckeditor 中粘贴图片

    我们在ckeditor 中有上传图片,但是实际使用中这种手动上传图片方式并不是很方便,而是复制或者截图粘贴图片. 这里我们实现主要是获取对应的粘贴事件. CKEDITOR.instances[&quo ...

  5. WORD粘贴图片+DEDE

    自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了.一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器) ...

  6. ckeditor从word粘贴图片

    自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了.一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器) ...

  7. ckeditor直接粘贴图片实现

    自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了.一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器) ...

  8. ckeditor实现WORD粘贴图片自动上传,jsp应用

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

  9. ckeditor富文本编辑器的使用和图片上传,复制粘贴图片上传

    自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了.一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器) ...

随机推荐

  1. Android实践之ScrollView中滑动冲突处理

    转载注明出处:http://blog.csdn.net/xiaohanluo/article/details/52130923 1. 前言 在Android开发中,假设是一些简单的布局.都非常easy ...

  2. HibernateCRUD基础框架(2)-HQL语句构造器(HqlQueryBuilder,HqlUpdateBuilder)

    上篇讲述了最基本的实体类,本篇接着讲述HQL语句构造器,包括查询和更新等. 优点:通过面向对象的方式构造HQL语句,更快捷,不需要手动拼接HQL. 缺点:封装可能降低性能,只能支持常用的和较为简单的H ...

  3. PHP Filesystem 函数(文件系统函数)(每日一课的内容可以从php参考手册上面来)

    PHP Filesystem 函数(文件系统函数)(每日一课的内容可以从php参考手册上面来) 一.总结 1.文件路径中的正反斜杠:当在 Unix 平台上规定路径时,正斜杠 (/) 用作目录分隔符.而 ...

  4. 34、uevent机制说明

    class_device_create(4.3.2内核是device_create->device_create_vargs->device_register->device_add ...

  5. 7、基于嵌入式Linux的视频采集系统---UVC驱动模型介绍

    UVC 即 usb video class.USB协议中,除了通用的软硬件电气接口规范等,还包含了各种各样的Class协议,用来为不同的功能定义各自的标准接口和具体的总线上的数据交互格式和内容.这些C ...

  6. arm Linux 如何自动检测并mount SD卡,以及如何得知已经mount

    一.土八路做法: SD 卡一旦插入系统,内核会自动在/dev/下创建设备文件:sdcard. 但有时可能时用户在拨出卡前并没有umount的话,第二次插卡进去后系统创建的就不是sdcard设备文件了, ...

  7. [Recompose] Render Nothing in Place of a Component using Recompose

    Learn how to use the ‘branch’ and ‘renderNothing’ higher-ordercomponents to render nothing when a ce ...

  8. iOS开发Quartz2D之 七:雪花效果

    #import "VCView.h" @implementation VCView -(void)awakeFromNib { //[NSTimer scheduledTimerW ...

  9. Finder那点事

    事件是这样,我MAC PRO,关不了机了,是有什么线程在用 defaults write com.apple.Finder QuitMenuItem 1 这个命令是让Finder 有退出BTN ,co ...

  10. 翻译 | Qt研发副总裁分享2018年工作计划

    原文作者:TuukkaTurunen,高级研发副总裁 翻译校审:Haipeng.Yulong和Ryan 引言:2018年,我们将继续完善Qt 5.9 LTS,现在我们正在为5月份发布Qt 5.11进行 ...