chrome支持剪贴板事件,因此,利用这个事件,完成剪贴板图片直接粘贴,并自动上传服务器功能。 另外就是对于最新版firefox,可以直接粘贴,不用任何处理。原理是按照base64编码,直接将图片数据存入img标签的src中。 是方便了编辑,但是在其他不支持base64为src的浏览器,比如低版本IE,就无法展示图片了。 所以为了兼容性,还是将图片上传到web服务器的好。 网上能支持图文混排的word文档粘贴的,都需要安装activeX控件,而且收费还比较贵。 在时间、金钱、需求之间取个平衡了~ 下面是修改步骤: admin/editor/kindeditor.js 末尾加上: $(document).ready(function(){ var KE =editorMap[‘content’]; if(KE){ if(KE.isEmpty()){ KE.insertHtml(‘Chrome下可直接粘贴图片,并自动上传服务器,欢迎体验~’); } KE.edit.doc.onpaste = function(event){ // console.log(‘content bind onpaste.’); // use event.originalEvent.clipboard for newer chrome versions var items = (event.clipboardData || event.originalEvent.clipboardData).items; console.log(JSON.stringify(items)); // will give you the mime types // find pasted image among pasted items var blob; for (var i = 0; i < items.length; i++) { if (items[i].type.indexOf(“image”) === 0) { blob = items[i].getAsFile(); } } // load image if there is a pasted image // console.log(blob); if (blob !== null && blob != undefined) …
文章归档
webuploader与uploadify合体的上传插件
这是我参考webuploader与uploadify修改的上传插件,包含两个上传项目。 第一个:根据uploadify(由swfupload改装)改装而成;第二个:在webuploader的基础上进行了集成。
如何解决ewebeditor上传图片200k限制??
问题是这个样子的:我把PDF文档转换为FLASH格式,想上传到网站显示,在后台用的是ewebeditor编辑器,已经设置ewebeditor的上传上限是100M了,结果还是上传不了,提示格式不对,这个明显是获取二进制流的时候没有完全获取到,查了一下,IIS无组件默认限制为200K上传,实验了一下,果然是190K是可以通过的.很多网友的方法是修改IIS设置,服务器又不是我的,我怎么修改啊,所以我选择分块接收文件. 什么激发了我呢?理由有两个,一个是ewebeditor官方文档中自己有提到大文本处理的方法,思想是一样的,第二个理由就是我以前做过这个事情 其实蛮简单的,具体过程是 1.打开ewebeditor/asp/upfileclass.asp 2.找到oUpFileStream.Write Request.BinaryRead(Request.TotalBytes)这句代码 3.注释这条代码,并用下面的代码替换 Dim nTotalBytes, nPartBytes, ReadBytes ReadBytes = 0 nTotalBytes = Request.TotalBytes Do While ReadBytes < nTotalBytes nPartBytes = 64 * 1024 If nPartBytes + ReadBytes > nTotalBytes Then nPartBytes = nTotalBytes – ReadBytes End If oUpFileStream.Write Request.BinaryRead(nPartBytes) ReadBytes = ReadBytes + nPartBytes Loop 4.保存,测试,搞定 下面具体说说过程吧 当提交表单的时候是指向upload.asp的,通过接收不同的参数,做不同的事情,里面有Sub DoSave()这个过程,又调用了DoUpload_Class()这个过程,这个过程中使用了无组件上传类的方法 先创建实例Set oUpload = New upfile_class 然后获取数据oUpload.GetData nAllowSize*1024 看看这个GetData方法,传入参数是一个允许的文件最大值,大家肯定明白意思了.在GetData方法中,创建一个 …