【微信公众号】使用映射路径展示图片

由于平台的限制,微信页面内部不支持链接图片,即使是localhost的地址链接图片,因此必须本地保存图片,并通过映射,将地址映射到项目地址内部文件夹路径,这样才能在微信APP中的公众号页面看到图片,通过二进制流或文件流缓存到浏览器中也是不行的。如果有其它方式可以,烦请告知。

这点不符合普通网站开发,普通网站开发外链接图片没有问题,通过流来处理图片文件后展示也没问题。所以,公众号里面的图片显示,都必须是本地图片,也就意味着要将本地路径映射到项目路径,然后在页面img标签中,就可以通过src路径访问显示出来了,就想访问本地webapp下的图片一样。

这里由于采用的springMvc项目,可以采用 <mvc:resources>解决映射。需要说明的是,spring mvc 的<mvc:resources mapping="***" location="***">标签是在spring3.0.4出现的,主要是用来进行静态资源的访问。在spring mvc的配置文件中,添加下面代码

<mvc:resources mapping="/img/**" location="file:D:\image\" />

上面的代码意味着页面的src属性中,路径在img文件夹下,地址将映射到D盘的image文件夹下,形成替换,所以如果要访问D:\image文件路径下的文件,页面直接以/img替换即可。如果添加后在IDEA编译器中出现如下字体颜色变红的情况,请忽略

不过有的时候也会出现无法显示的情况,那么尝试在页面中需要在路径前面添加${pageContext.request.contextPath},如下在js中处理后台传递过来的photoUrl

<img src='${pageContext.request.contextPath}" + result.data[i].photoUrl + "'>"

这样就可以了,${pageContext.request.contextPath}配合前面的mvc配置,可以访问到后台传递过来的本地磁盘路径下的图片地址,最后将图片展示出来。记得不要将其通过后台传递过来,那将被认为是路径来处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值