小程序
小游戏
企业微信
微信支付
扫描小程序码分享
https://scnj.hbck.com.cn/run/website/images/index/book.png
域名已经添加到服务器域名和业务域名中,但是图片依然无法显示出来,浏览器却可以正常访问,麻烦请教下!这个问题我搞了一下午了,还是不行,不知道是什么原因
6 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
一、使用images.weserv.nl方案 直接在原图链接前拼接https://images.weserv.nl/?url= 例如: https://images.weserv.nl/?url=https://www.baidu.com/img.jpg
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
刷新几次出来了,但是……
我遇到类似的问题。在本地localhost开的服务器测试,浏览器访问“http://127.0.0.1:8000/media/apps/z14app00014/payment_proof_file_save_do/L4xF5V5D017R8G651gO1K9Ptq0xek1.png” 显示图片没有问题。
但同样的url放到小程序的image src就显示不出来。后来我查了开发工具的调试器,检查网络发现该图片的status是302。
才想到我在服务器端设置了对访问的url进行检查与限制的中间件(django后端),对白名单之外的访客,都需要登录后才能访问。而在浏览器中,由于有session能够向后端证明访问为已经登录的用户发起,所以这个图片的url的访问能够通过服务器的审查,显示正常。
而在微信访问中,给服务器并没有传session或其他证明其在白名单中的内容,所以服务器拒绝访问。后来我把来自于weixin的访问都加入了白名单,在url中加一个参数,凡是url中带有这个参数的,服务器都放行。比如上述图片url变为(当然,后端也会做相应的识别处理的逻辑)“http://127.0.0.1:8000/media/apps/z14app00014/payment_proof_file_save_do/zdvD4D516FskRIoe4eF6Q57C20114L.png?isRequestingFromWechat=true”后,就可以了。
应该是后台设置了token校验,访问图片地址时没有通过token校验,所以后台会不允许访问,然后台人员取消图片地址的token校验就可以了
因为 image 控件的图片拉取本质上是依赖 wx.downloadFile 的,很多时候是由于图片不规范(content-type / length / 是否302跳转等 )导致拉取不成功,最终表现为加载不出图片。
你浏览器可以访问?访问的是缓存吧,我这都无法访问。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
一、使用images.weserv.nl方案 直接在原图链接前拼接https://images.weserv.nl/?url= 例如: https://images.weserv.nl/?url=https://www.baidu.com/img.jpg
刷新几次出来了,但是……
我遇到类似的问题。在本地localhost开的服务器测试,浏览器访问“http://127.0.0.1:8000/media/apps/z14app00014/payment_proof_file_save_do/L4xF5V5D017R8G651gO1K9Ptq0xek1.png” 显示图片没有问题。
但同样的url放到小程序的image src就显示不出来。后来我查了开发工具的调试器,检查网络发现该图片的status是302。
才想到我在服务器端设置了对访问的url进行检查与限制的中间件(django后端),对白名单之外的访客,都需要登录后才能访问。而在浏览器中,由于有session能够向后端证明访问为已经登录的用户发起,所以这个图片的url的访问能够通过服务器的审查,显示正常。
而在微信访问中,给服务器并没有传session或其他证明其在白名单中的内容,所以服务器拒绝访问。后来我把来自于weixin的访问都加入了白名单,在url中加一个参数,凡是url中带有这个参数的,服务器都放行。比如上述图片url变为(当然,后端也会做相应的识别处理的逻辑)“http://127.0.0.1:8000/media/apps/z14app00014/payment_proof_file_save_do/zdvD4D516FskRIoe4eF6Q57C20114L.png?isRequestingFromWechat=true”后,就可以了。
应该是后台设置了token校验,访问图片地址时没有通过token校验,所以后台会不允许访问,然后台人员取消图片地址的token校验就可以了
因为 image 控件的图片拉取本质上是依赖 wx.downloadFile 的,很多时候是由于图片不规范(content-type / length / 是否302跳转等 )导致拉取不成功,最终表现为加载不出图片。
你浏览器可以访问?访问的是缓存吧,我这都无法访问。