首页 > 代码库 > ueditor编辑文章时候,复制粘贴内容,原来的图片不能显示

ueditor编辑文章时候,复制粘贴内容,原来的图片不能显示

ueditor编辑文章时候,当现有文章有图片的时候,
再复制粘贴文本进去的时候,里面的图片就不能显示了,
编辑器查看文章Html代码,图片路径显示为:src=http://www.mamicode.com/"http://localhost/images/net/error!"

正确是:src=http://www.mamicode.com/"http://localhost/images/adc.jpg"

而我用的是自定义的服务器的一个路径 

查看源码,发现这块功能是如下流程 

当粘贴后,UE会将目前编辑的所有内容中元素重新赋值属性,即源码中的setAttributes:function (node, attrs) { 
这个时候如果img控件使用的是外部地址,那么就会建立一个连接,将这个图片下载到本地服务器 
也就是如下 

远程图片抓取功能 
源码中位置可以搜索 UE.plugins[‘catchremoteimage‘] 
这个内容在ueditor.config.js中是有明确配置(catchRemoteImageEnable)的,默认是开启的状态,如果不想用这个功能,就可以关闭掉,那么也就不会存在图片显示不出来的情况了 

如果还不想关闭掉,就要研究源码了 

源码中会开启抓取远程图片的监听,当触发粘贴事件后,会执行一次 
me.addListener("catchRemoteImage", function () { 

然后会请求上传图片的PHP,即getRemoteImage.php 
上传图片的拼接路径以及返回,就在这个php文件内了,可以研究下

另外一种解决方案:

在IIS下就正常了
VS的调试器会把目录名加上(就是那个net是你的项目的目录名,默认是加上的)。