微信分享功能,安卓手机分享图片不显示

最近公司做的一些项目都跟微信有关系,需要有个分享的功能,但是在测试环境的时候分享功能都正常,图片标题描述之类的都没问题,放到线上,安卓手机分享时,缩略图就是不显示

介绍一下测试/生产环境:

  测试环境:网站和图片服务器都是采用http

  生产环境:网站和图片服务器都是采用https

问题原因猜想:

  a.图片大小和尺寸太大出不来:图片是150X150 的,近40K,后来给制作重新做图,30X30的10k不到,分享图片大小最好不要超过32k ,尺寸100x100以上就行,别太大了,太小了图片失真

  b.图片路径有{-}中划线:某些浏览器或手机对含有中划线的路径不【友好】,结果把图片放到上一层目录,避免类似.../year-imgs/head.png这种路径

  c.图片后缀不行:图片做的是.png后缀格式的,网上资料说分享朋友圈的时候可能直接会忽略掉.png后缀的图片,最好使用.jpg的图片作为分享图片的格式

  d.分享时调用接口没有取到图片地址:在页面的顶部(或者把分享的那张图片放在该页面所有图片的前面第一个位置)head里面放置一个图片(隐藏的)

   <img id="head_img" src=”http://wap.qd0931.com/wap/sj_zqth/images/logo.jpg” width=”0″ height=”0″ />,千万不能写成display:none这种隐藏,

   这样调用分享接口时,微信应该会默认读取到页面第一张图片的路径

  e.最后还是不行,直接使用js获取img的图片路径:$('#head_img').attr('src'),结果没反应

通过上面的一系列的措施最终图片还是没有出来,最后通过对比发现生产环境的图片服务器(协议)是https的,测试的图片服务器(协议)是http的,于是我就把生产环境分享的缩略图的路径复制到测试上面,结果分享的时候果然不显示,而测试服务器的图片在分享的时候就显示,得出结论安卓机在分享时缩略图不显示可能跟图片服务器的协议有关系(http、https)

  然后根据自己的结论是网上查找相关的资料,果然有这么回事,下图是我在网上看到的特意截个图(原创莫怪!):

  

  至于为什么启用了https,图片在安卓机器上面就不显示,原因我也不是特别清楚,可能是协议的证书不太完整吧!有待学习

原文地址:https://www.cnblogs.com/zengguowang/p/5552929.html