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

由于平台的限制,微信页面内部不支持链接图片,即使是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配置,可以访问到后台传递过来的本地磁盘路径下的图片地址,最后将图片展示出来。记得不要将其通过后台传递过来,那将被认为是路径来处理。

发布了120 篇原创文章 · 获赞 50 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/u014650759/article/details/103298744