博客 emlog上传图图床链接总是保存到本地怎么解决?百度富文本编辑器ueditor关闭远程图片抓取...
最近服务器备份文件因为网站图片越来越多,备份一次就是800兆,于是萌发了想把所有图片放图床不放本地的想法。
试了几个图床
1.七牛云 未备案域名只能创建海外空间,图片链接速度有点慢
2.github 搭建免费图床+JS免费加速,因为仓库虽然说无上限限制,但超过1g好像会发邮件提醒,虽然可以不断的新建仓库,总觉得无法长久,心烦
3.回到七牛云,绑定备案域名,使用的是华东空间,链接速度的确很快。
于是有了如下问题,发布文章后本来是图床链接的图片被强制保存到我的服务器里。
我刚开始以为是本地图片这个插件,插件关闭了还是如此,最后我才怀疑到ueditor编辑器的问题。
百度富文本ueditor编辑器有个比较默认的功能,默认情况下,我们上传图片(比如直接从头条、CSDN上复制粘贴的图片)的时候,编辑器会默认抓取图片并上传到本地服务器,
//,catchRemoteImageEnable:false //是否开启远程图片抓取,默认开启
当文章发布后,文章里的图片链接显示的是我们服务器上的照片而不是头条的图片。
问题描述
比如下图,我的图片是存储在七牛云的OSS对象存储上的,图片链接是
http://bxc.lmih.cn/img/mstc.png
当我写文章插入这张图片时,UEditor就会把这张图片上传到本地服务器上:
文章发布后,当我们访问这篇文章的时候,文章里加载的图片是我们服务器上的,而不是七牛云对象存储的。我之所以用七牛云就是想提高图片的加载速度(有些图片很大),减轻服务器的访问压力,这倒好,不但没提高,反而还重复占用了存储空间!
网上查找了很多解决办法,虽然修改的地方可能不同,但修改的关键点是一样的
找到目录,/www/wwwroot/upload/e/data/ecmseditor/ueditor
更改文件内容:
将catchRemoteImageEnable的默认值true改为false,这样就不会抓取图片到本地服务器了。
————————————————
我自己是宝塔面板搭建的emlog,要修改的文件不是这个,步骤如下
首先在宝塔中直接搜索ueditor,找到ueditor.all.js
代码行数有点多,直接搜索catchRemoteImageEnable
将true改成false
改之后如下
重新发布一篇文章,发现解决了问题,图片链接终于是七牛云图床链接了。
大错特错,我高兴的太早了
最后我发现只有这一张是图床链接,于是我又花了一天寻找网上教程,
比如如下两篇:https://blog.csdn.net/weixin_29133151/article/details/114472676
https://blog.csdn.net/alex_fung/article/details/50802565
我按照教程,编辑ueditor.config.js,删除注释的//,然后true改成false
我又开始高兴了,毕竟最终教程指向这里,也许大家改到这里已经成功了,但我实际测试发现还是图片保存到本地,有点无计可施了!
因为网上已经没其他教程了,我苦思冥想,看代码,看到上图里有个getRemoteImage.php
这个时候我真的是抱着试试看的态度,想找这个代码(getRemoteImage)在整个网站中是否存在多处
下载好备份的800兆文件,用notepad搜索全部文件,看来只有第一个,其他都是png图片
找到这个admin/editor/php/getRemoteImage.php ,编辑
里面有远程抓取的文件允许格式 以及最大KB大小
我突发奇想,我把格式改掉,文件大小改成3是否可行?
说干就干,格式都加1,大小改成3KB,保存!
苍天啊,竟然成功了。
最后总结,也许只改最后一个文件即可,保持原先自动保存的设定,但远程保存的设定格式和大小我们可以做手脚!
累了一天,记录下修改历程,最后那步真的不容易,因为没任何教程提到,还好我没放弃。
发表吐槽
你肿么看?
既然没有吐槽,那就赶紧抢沙发吧!