ueditor 无法远程抓取百家号文章中的gif图片Bug解决方法
微wx笑
 2020-09-08【网页网站】
 9
 0关键字:
ueditor  gif  Bug  百家号  
今天转载了一篇百家号的文章“涿州桃园路开始封闭施工”,发现文章的静态图片能够远程抓取成功,保存到自己的服务器上;但是动图gif就远程抓取失败了,后台返回的错误信息是链接con
今天转载了一篇百家号的文章“涿州桃园路开始封闭施工”,发现文章的静态图片能够远程抓取成功,保存到自己的服务器上;但是动图gif就远程抓取失败了,后台返回的错误信息是链接contentType不正确gif,以下为抓取结果的控制台输出(为了方便调试):
Object
list: Array(3)
0: {state: "SUCCESS", url: "/ue-upload/image/20200908/1599526005159075.jpeg", size: 27628, title: "1599526005159075.jpeg", original: "500fd9f9d72a6059bb4f14db9dff099c013bbae3.jpeg", …}
1:
original: ""
size: null
source: "https://tukuimg.bdstatic.com/scrop/de5ddb53ad541fbfbfffb48f394e61f0.gif"
state: "链接contentType不正确gif"
title: ""
url: null
__proto__: Object
2:
original: ""
size: null
source: "https://tukuimg.bdstatic.com/scrop/0fc14afe84c89130a4eee4124d49681d.gif"
state: "链接contentType不正确gif"
title: ""
url: null
__proto__: Object
length: 3
__proto__: Array(0)
state: "SUCCESS"
__proto__: Object返回的是一个JSON结构,控制台输出后展开再复制就是这个样子了,没有截图,看着没有在控制台中显示的那么友好。
可以看出失败的地址是"https://tukuimg.bdstatic.com/scrop/de5ddb53ad541fbfbfffb48f394e61f0.gif",查看该地址返回的“contentType”,确实是只有“gif”。
通常contentType的格式应该是“image/gif”,但是它不是,所以就导致了这个问题。同时还看到一个HTTP头“Content-MD5”,查询了解到是用来验证内容真实完整性的,但是其作用不大。
问题解决方法:
在格式验证(扩展名验证和Content-Type验证)代码中再添加一句“gif”扩展名的验证
        //格式验证(扩展名验证和Content-Type验证)
        if (!isset($heads['Content-Type']) || (!stristr($heads['Content-Type'], "image") && !stristr($heads['Content-Type'], "application/octet-stream"))) {
          if (!stristr($heads['Content-Type'], "gif")){
            $this->stateInfo = $this->getStateInfo("ERROR_HTTP_CONTENTTYPE").$heads['Content-Type'];
            return;
          }
        }相关文章:
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0  许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/web/2020-09-08/528.html
上一篇:js禁止页面滚动



